dbgridEH   加序号怎么实现的?? 
序号要放在左边的灰色栏不是放在数据区~~~~ 
效果如链接的图 
http://www.programbbs.com/bbs/view12-7729-1.htm

解决方案 »

  1.   

      
      用MyDBGridEh 这个控件可以
      

  2.   

    可以自画吗?? 以下语句都可以放在数据区产生序号  但放不到DBGRIDEH灰色的左栏  
    1、
    begin
     if DataCol = 0 then //設置在第一列
    begin 
    if DBGrideh1.DataSource.DataSet.state<>dsInsert then
    i:= DBGrideh1.DataSource.DataSet.recno; //這句是關鍵
    DBGrideh1.Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2, IntToStr(i));
    //inc(i); //將这名改为以下内容
    if i<=dbgrideh1.DataSource.DataSet.RecordCount then
    inc(i)
    else
    i:=dbgrideh1.DataSource.DataSet.RecordCount +1; end;
    end;2、更简单的语句
          {  begin
         if   Column.Index   =   0     then
          with   DBGrideh1.Canvas   do   begin
              FillRect(Rect);
              TextOut(Rect.Left+2,   Rect.Top+2,   IntToStr(DBGrideh1.DataSource.DataSet.RecNo));         end;
      

  3.   


     恩 放在数据区不是难事
     要用DBGridEh估计要改控件。
      

  4.   

    procedure TForm1.DBGridEh1DrawColumnCell(Sender: TObject;
      const Rect: TRect; DataCol: Integer; Column: TColumnEh;
      State: TGridDrawState);
    begin
      DBGridRecordSize(Column);
      if Column.Index = 0 then
        if DBGridEh1.SumList.RecNo <> -1 then
          DBGridEh1.Canvas.TextRect(Rect, Rect.Left + 3, Rect.Top + 2,
            IntToStr(DBGridEh1.SumList.RecNo));
    end;
    给分吧,我用过的
      

  5.   

    xuxugr  你说的例子在编译时出现[Error] Unit2.pas(185): Missing operator or semicolon
    [Fatal Error] Unit1.pas(34): Could not compile used unit 'Unit2.pas'要怎样解决吗??
      

  6.   

    xuxugr  你说的例子产生序号还是在数据区的