在dbgriddrawCell中怎样写转化语句 Delphi / Windows SDK/APIhttp://www.delphi2007.net/DelphiBase/html/delphi_20061205222508275.html
在dbgriddrawCell是不是可以写转化语句,使原先为"0""1"的数据转为"无""有"显示?
//参考如下代码:
procedure TForm1.Table1AfterOpen(DataSet: TDataSet);
begin
TNumericField(DataSet.FieldByName('性别')).DisplayFormat := '"女";"女";"男"';
end;
procedure TForm1.ADOQuery1AfterOpen(DataSet: TDataSet);
begin
TNumericField(DataSet.FieldByName('结贴')).DisplayFormat := '"无";"无";"有"';
end;
procedure TDataModule2.DepartAfterOpen(DataSet: TDataSet);
begin
query1.Close;
query1.SQL.Clear;
a:='slecet *from depart where ChinesePro='+''''+inttostr(1)+'''';
query1.SQL.Add(a);
query1.Open;
if query1.RecordCount>1 then
begin
TNumericField(Depart.FieldByName('chinesepro')).DisplayFormat:= '"有"';
end
else
begin
TNumericField(Depart.FieldByName('chinesepro')).DisplayFormat:= '"无"';
end;
end;
帮忙看看这段代码有什么问题啊?!
procedure TDataModule2.DepartAfterOpen(DataSet: TDataSet);
begin
TNumericField(DataSet.FieldByName('chinesepro')).DisplayFormat := '"无";"无";"有"';
end;
//这样用有什么问题吗?
这样我运行之后,原先"0"显示"有",是"1"显示"无"
我上面的代码,是想通过查询数据库实现的.这个想法对么?
TNumericField(DataSet.FieldByName('chinesepro')).DisplayFormat := '"无";"无";"有"';
这个后面显示的顺序怎么理解?
如果你的DBGrid只是查询不做修改,那么可以将查询方到打开Depart的语句中
select *, (select count(*) from depart where chinesepro = a.chinesepro) as cnt
from TableName as a
整数;负数;零