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

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

方案1:

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

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

procedure ....Form.UniDBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
  vDbGrid: TDBGrid absolute Sender;
begin
 
  if DataCol=0 then
    vDbGrid.Canvas.TextOut(Rect.Left + 2
                           , Rect.Top + 2
                           , IntToStr(vDbGrid.DataSource.DataSet.RecNo));

方案2:

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

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

下面是效果图

猜你喜欢

转载自www.cnblogs.com/westsoft/p/10344598.html
今日推荐