Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1267009
  • 博文数量: 788
  • 博客积分: 4000
  • 博客等级: 上校
  • 技术积分: 7005
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-19 15:52
文章存档

2017年(81)

2011年(1)

2009年(369)

2008年(337)

分类:

2009-04-22 11:00:58



在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  
   
  整数;负数;零



--------------------------
新闻:大脑推客:通过电脑思考即可发布Twitter消息
网站导航: 博客园首页  新闻  .NET频道  社区  博问  闪存  找找看
阅读(510) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~