DBGridEh首列显示怎么显示行号呀?高手们给指点一下哈!DBGridEh每增加一行数据,都会自动的显示行号呢?

解决方案 »

  1.   

    提供一個DBGrid的例子, 修改成DBGridEh一樣使用...
    procedure   TFrmLog.DBGridDrawColumnCell(Sender:   TObject;   const   Rect:   TRect; 
    DataCol:   Integer;   Column:   TColumnEh;   State:   TGridDrawState); 
    begin 
    with   DBGrid.DataSource.DataSet   do 
    begin 
      if   DataCol   =   0   then//第一列 
          DBGrid.Canvas.TextRect(Rect,   Rect.Left   +   2,   Rect.Top   +   2,   IntToStr(RecNo)); 
    end; 
    end;       
      

  2.   

    再提供一個思路:可以在database中增加一個自增型的字段來控制顯示,LZ可以試試看...
      

  3.   

    procedure   TFrmLog.DBGridDrawColumnCell(Sender:   TObject;   const   Rect:   TRect; 
    DataCol:   Integer;   Column:   TColumnEh;   State:   TGridDrawState); 
    begin 
    with   DBGrid.DataSource.DataSet   do 
    begin 
      if   DataCol   =   0   then//第一列 
          DBGrid.Canvas.TextRect(Rect,   Rect.Left   +   2,   Rect.Top   +   2,   IntToStr(RecNo)); 
    end; 
    end;   
    ----------------------------------------这个可以用,不过每增加一行记录,第一列的行号就会变成-1,只有等光标定位到其他行了,就恢复正常的顺序了,不知道是为啥?
      

  4.   

    晕了,搞得这么麻烦,DBGridEh显示行号就一个选项,不需要写任何代码OptionsEh->dghShowRecNo