序号不是放在数据库里的
小弟先谢了啊

解决方案 »

  1.   

    为table 添加一个计算字段no
    procedure table1onCaclFields();
    begin
    table1.fieldbyanme('no').asinteger:=abs(table1.RecNo);
    end;
      

  2.   

    这样也可以
    procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject;
      const Rect: TRect; DataCol: Integer; Column: TColumn;
      State: TGridDrawState);
    begin
       with DBGrid1.DataSource.DataSet do
          if DataCol =0 then//第一列
            DBGrid1.Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2, IntToStr(RecNo));
    end; 
      

  3.   

    可以查询的时候生成序号,或者像楼上的那样动态的加入计算字段。或者多创建一列,响应该列的ONGetDisplayText事件返回RecNO
      

  4.   

    以上的方法在dbgrid或者dbgrideh中是没有问题的,但是在cxgrid中一单击标题排序的话就有问题了,序号也会跟着变化的。