给uniGUI的表格控件uniDBGrid加上记录序号的列

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加上记录序号的列

欢迎加QQ:elily(910300653)一起交流学习uniGUI

上一篇:一) Spring 介绍、IOC控制反转思想与DI依赖注入


下一篇:C++结构体与Delphi结构体相互传参,结构体中包含结构体的嵌套,数组指针