adoDm.qrycheck.SQL.Text:='select xm from YH_YHXX where PJYDM='+column.Field.Text
也就是在显示前转换显示的内容.
query.sql.text:='select name from B where number='+columen.field.text;
这个我写过,
直接用dbgrid就可以做到,dbgrid显示前有一个事件叫什么来着
procedure TfrmMarkerMng.dbgCyDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
var
i_test: integer;
begin
if DataCol=1 then
begin
adoDm.qrycheck.Close;
i_test:=strtointdef(column.field.text,-1000);
if i_test>0 then
begin
adoDm.qrycheck.SQL.Text:='select xm from YH_YHXX where PJYDM='+column.Field.Text;
try
adoDm.qrycheck.Open;
except
end;
dbgcy.Canvas.textRect(rect,rect.left+2,rect.top+2,adoDM.qrycheck.fieldByName('xm').AsString);
adoDm.qrycheck.Close;
end;
end;
end;
转换显示就可以了