在dbgrid中,实际数据1,我要显示true,实际数据为0,我要显示为false,我知道使用lookup字段可以实现,但是这样的话必须要有一个dataset具有1 true ,0 false, 而我的数据库中没有这样的表,有什么其他的办法 
我还要实现下拉修改,不仅仅是显示的问题
还有我想请教,dataset是不是必须连上数据库,能不能在语句中添加field和data,然后作为lookup字段的dataset

解决方案 »

  1.   

    是一定要连到数据库,所以你最好加张代码表,然后用Lookup字段
      

  2.   

    select 显示=case Field1 when 0 then 'False' when 1 then 'True' end from table
      

  3.   

    楼主如果只是为了显示的话,倒可以用Dbgrid的重绘功能!
      

  4.   

    双击Table1, 弹出一个窗体, 右击--> Add All Fields.
    选择你想判断的Field. 然后选择它的OnGetText事件. 写入
    procedure TForm1.Table1CompanyGetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    begin
      if Sender.AsInteger = 1 then
        Text := 'True'
      else
        Text := 'False';
    end;
      

  5.   

    select case  采用 when 1 then '+''''+'是'+''''+' else '+''''+'否'+''''+' end 
    AS 采用 ,撰稿 from 专项督察
      

  6.   

    问题已经解决,在OnGetText和OnSetText中添加代码就ok了
      

  7.   

    dataset是不是必须连上数据库,能不能在语句中添加field和data,