我在工程中把DBGrid和dataSource绑定了,而dataSource和ADOTable绑定了,ADOTable我选定了一个表,并且激活了,这显示的就是数据库中那个表的数据了,
现在有一个问题,就是DBGrid中显示的是数据库中的原有数据,而我有几个字段是用的字符枚举,举个最简单的例子,
我用‘1’代表‘是’
‘2’代表‘否’这样在DBGrid中显示的就是‘1’或‘2’
而我想显示‘是’或‘否’请问各位我该怎么做?
挺急的,谢谢各位了。

解决方案 »

  1.   

    如果你用sqlserver db,可使用adoquery,查询语句中对该字段使用 
      case ...when,只可作查询
      

  2.   

    后台数据库是Oracle,事实上那个字段比较复杂
    1:现金支付
    2:支票支付
    3:信用卡支付各位,谁遇到过类似的情况啊?再帮我想想,还有啊,我不知道什么叫做计算字段啊?
      

  3.   

    1.Sql语句中:Case 1 then 是 2 then 否 end
    2.定义一个
        procedure GetClassValue(Sender: TField;
          var Text: String; DisplayText: Boolean);
    begin
     if sender.AsString ='' then text:=''
     else
     case sender.AsInteger of
     0:Text:='NO';
     1:Text:='YES';
     end;
    end;
    在数据源打开时
      dmmain.DATASET1.open;
      dmmain.DATASET1.FieldByName.('FieldName').OnGetText:=GetFileClassValue;即可
    3.如上