在dbgriddrawCell中怎样写转化语句

在dbgriddrawCell中怎样写转化语句 Delphi / Windows SDK/API
http://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  
   
  整数;负数;零

posted on 2009-04-22 10:51  delphi2007  阅读(383)  评论(0编辑  收藏  举报