DBGridEh 转换显示数据
我有一个数据表
里面有一个字段 TranType
TranType
======
1
2
3
1
3
2
1
1
1
我想把
1 人民币
2 欧元
3 美元
代码应该如何写var
i:integer;
beginwith dm.Sys_Query do
begin
Close;
sql.Clear;
sql.Text:='select TranType from EndTotal';
open;
for i:=1 to RecordCount+1 do
begin
if FieldByName('TranType').AsString='1' then DBGridEh1.Fields[4].Text:='人民币; next;
end;
end;
我有一个数据表
里面有一个字段 TranType
TranType
======
1
2
3
1
3
2
1
1
1
我想把
1 人民币
2 欧元
3 美元
代码应该如何写var
i:integer;
beginwith dm.Sys_Query do
begin
Close;
sql.Clear;
sql.Text:='select TranType from EndTotal';
open;
for i:=1 to RecordCount+1 do
begin
if FieldByName('TranType').AsString='1' then DBGridEh1.Fields[4].Text:='人民币; next;
end;
end;
'select decode(TranType,'1','人民币','2','欧元','3','美元') from EndTotal'
1. 改SQL:select case column when 1 then ‘人民币’ when 2 then ‘欧元’ from table2.刷新 DBGRIDprocedure TfrmXMDKDJ.DBGridEh1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumnEh;
State: TGridDrawState);
begin if (datacol = 2) then
begin
if (DBGridEh1.DataSource.DataSet.FieldByName('UserBH').asstring = UserBH ) then
begin
DBGridEh1.Canvas.Brush.Color := $00FFFFC8;
DBGridEh1.Canvas.TextRect(Rect, Rect.Left + 2,Rect.Top + 2,DBGridEh1.DataSource.DataSet.FieldByName('RQ').Value);
end
end;
end;
2.事件代碼:類似以下這樣procedure TQCD_RMA_F.cxGrid1DBBandedTableView1Column18GetDisplayText(
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
var AText: String);
begin
inherited;
if AText<>'' then
begin if AText='-1' then
begin
AText:='取消單號';
end;
end;
end;
3.數據集單元格的properties屬性設置成ImageComboBox後再設置替換的內容即可