uniDBGrid使用起来还是很方便的,但就是没有显示记录序号的功能,必须自己加,参照老外给的解决方案如下:

方案1:

1- 在UniDBGrid建一个第一列 (列的名字起“NO”)

2- 在 UniDBGrid事件 DrawColumnCell 下加如下代码

  1.  

    procedure ....Form.UniDBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  2.  
     
  3.  

      DataCol: Integer; Column: TColumn; State: TGridDrawState);
  4.  

    var
  5.  

      vDbGrid: TDBGrid absolute Sender;
  6.  

    begin
  7.  
     
  8.  

      if DataCol=0 then
  9.  

        vDbGrid.Canvas.TextOut(Rect.Left + 2
  10.  

                               , Rect.Top + 2
  11.  

                               , IntToStr(vDbGrid.DataSource.DataSet.RecNo));
  12.  

    end;

方案2:

       在UniDBGrid的ExtEvents事件下加如下代码:

sender.headerCt.insert(0,new Ext.grid.RowNumberer({text:'',width:'auto',align:'center',menuDisabled:false}));

 

给uniGUI的表格控件uniDBGrid加上记录序号的列_解决方案

下面是效果图

给uniGUI的表格控件uniDBGrid加上记录序号的列_解决方案_02