例如adoquery中查询出来的某属性值为1,但是需要在dbgrid中显示为abc,怎么实现?
通常如果直接显示只能为1,修改哪个属性值可以让dbgrid显示该值为abc呢?

解决方案 »

  1.   

    你返回查询结果的时候就将1转换成abc不就可以了吗
      

  2.   


    var
      str:string;
    begin
      str:='select case when 1 then ''abc'' else ''ddd'' end from t';
      with adoquery do
        begin
          close;
          sql.clear;
          sql.add(str);
          open;
        end; 
    end;
      

  3.   

    使用TField 对象的SetText 和GetText 事件处理函数
      

  4.   

    我调用的是一个存储过程,不能做sql语句的转换
    如果在adoquery里做Field 的settext和gettext该怎么做呢?
    麻烦高手给个方法
      

  5.   

    如果数据库有这样一条记录:
    id   name
    1    aaaa
        
    在Query上面点右键;选择添加所有字段.
    选中name字段,打开事件编辑器,选中OnGetText;
    在些事件中写如下的方法:procedure TForm1.qry1bbbGetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    begin
      //ShowMessage(sender.Value);
      if Trim(sender.Value) = 'aaaa' then
         text := '正确'
      else text := '不正确';end;-------------------
    输出结果:
    id    name
    1     正确