全部博文(788)
分类:
2009-04-22 11:00:58
//参考如下代码:
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
整数;负数;零