我用ADOQuery从SQL里查询出10条数据显示在DBGrid组件中,如何在DBGrid第一列自动加上序号:0001,0002,……0010?

解决方案 »

  1.   

    在DBGrid1DrawColumnCell中画,在第一列,根据ADOQuery.RecNo去组织序号格式
      

  2.   


    procedure TForm1.DBGrid1ColumnMoved(Sender: TObject; FromIndex,
      ToIndex: Integer);
    begin
      if FromIndex = 0 then//这里可根据你得情况设置,这里是不运行拖动第一列
      begin
        DBGrid1.Columns[ToIndex].Index := FromIndex;
      end;
    end;
      

  3.   

    那样的话,还是别费事了,改第三方吧,dx,cx都可以
      

  4.   

    通过下列代码实现了:
    procedure TForm1.DBGrid1ColEnter(Sender: TObject);
    begin
    if   Dbgrid1.SelectedField.FieldName='序号'   then
          if   Dbgrid1.SelectedIndex < Dbgrid1.FieldCount-1   then
               Dbgrid1.SelectedIndex:=Dbgrid1.SelectedIndex+1
               else
               Dbgrid1.SelectedIndex:=0;
    end;