在数据库中有一个字段 是INT类型的(值是:1,0。)在DBGRID里显示的是0、1、2等等
我想在DGBRIDE里显示:
例如‘0’对应‘出库’  ‘1’对应‘入库’

解决方案 »

  1.   

    case param of
    0:dbgrid1.Columns.Items[1].field.asstring:='出库'
    1:dbgrid1.Columns.Items[1].field.asstring:='入库’
    end;
      

  2.   

    procedure TForm1.Table1BeforeEdit(DataSet: TDataSet);procedure TForm1.Table1BeforeInsert(DataSet: TDataSet);好像可以处理,原谅我用“好像”这个词,很久没用了。:)
      

  3.   

    可以在query中改变,其有个OnSetext方法吧,在具体的字段里面改变
    如;
      if  sender.text=0   then  text:='出库';  if  sender.text=1  then  text:='入库';
      

  4.   

    如果你用的是query/adoquery,把你用的int类型字段加入query,对它的ongettex事件进行操作,当为0时,text:='出库'......
      

  5.   

    procedure TForm1.Table1BZGetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    begin
      if Sender.AsString = '0' then text := '出库' 
      if Sender.AsString = '1' then text := '入库'
    end;
      

  6.   

    SELECT *, 
          kk = CASE 字段 WHEN 0 THEN '出库' WHEN 1 THEN '入库' ELSE 'Not'
           END
    FROM test
      

  7.   

    很简单,在该字段的OnGetText事件中处理:
    procedure TDM.Query1MyfieldGetText(Sender: TField;
      var Text: String; DisplayText: Boolean);
    begin
      if Sender.IsNull then exit;
      case sender.AsInteger of
        0: Text:='出库';
        1: Text:='入库';
      end;
    end;
      

  8.   

    最简单的就是跟楼上的说的一样,因为你的数据有很多,你应该再建一张表,里面有两个字段,一个ID,一个Name,ID对应于你主表的哪个INT字段,Name字段就寸对应的出库,进库等中文意思,那样你就可以新建个LookUp字段来显示中文,把你的真正的隐藏起来,就OK了
      

  9.   

    建议用 charles2118(第六元素)的方法。
    或者用 OnSetext 和 OnGettext
      

  10.   

    case param of
    0:dbgrid1.Columns.Items[1].field.asstring:='出库'
    1:dbgrid1.Columns.Items[1].field.asstring:='入库’
    end;
      

  11.   

    最简单的就是跟楼上的说的一样,因为你的数据有很多,你应该再建一张表,里面有两个字段,一个ID,一个Name,ID对应于你主表的哪个INT字段,Name字段就寸对应的出库,进库等中文意思,那样你就可以新建个LookUp字段来显示中文,把你的真正的隐藏起来,就OK了同意,要符合第一范式