Delphi dbgrideh序号

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

数据库里面的数据没有序号的数据,在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;

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值