我要在程序中修改DBGrid中某一列的值该如何做,要求是与其关联的数据库的内容不变,只是改变其显示值(以十进制方式显示还是以十六进制方式显示)

解决方案 »

  1.   

    是改变显示形式吗?是不是,数据库字段存储为65535,显示时则为FFFF??
    另外,字段类型是什么?
      

  2.   

    在字段的OnGetText中处理
    设置在ADOQuery(或其他)的Connection,SQL语句,打开ADOQuery(双击),添加字段,每个字段都有自己的事件.(ADOQuery的ADOConnection,和SQL语句两个都可以在弄完后删除,但是不要把添加了事件的字段删除,)
    procedure TForm1.ADOQuery1A01GetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    begin
      Text := 'yyy'+Sender.AsString;
    end;
      

  3.   

    在dbgrid.datasource的对应字段的gettext事件中写转换程序.