数据库里面的数据没有序号的数据,在dbgrideh上新增一列自定义其字段,例如:id

在编码的开头定义i,为integer

在dbgrideh控件上的‘OnDrawColumnCell’事件下写下代码

procedure TForm1.number(Sender: TObject; const Rect: TRect; DataCol: Integer;
Column: TColumnEh; State: TGridDrawState);
var
i:integer;
begin
with DBGrideh1.DataSource.DataSet do
begin
if DataCol = 0 then //设置在第一列
begin
if state<>dsInsert then i:= recno; //关键
DBGrideh1.Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2, IntToStr(i));
inc(i); //將i加1
end;
end;
end;
在unidatesource的‘OnDataChange’事件下写下
i:=1;

本文介绍了如何在不包含序号的数据库数据中,使用Delphi的DBGridEh控件自定义添加序号列。通过在OnDrawColumnCell事件中设置条件,当处于非插入状态时,利用DataSet的Recno属性获取当前记录编号,并在第一列绘制序号。同时,在UnidateSource的OnDataChange事件中进行相关操作。
1937

被折叠的 条评论
为什么被折叠?



