第一条记录是1,第二条是2,也就是在最左边显示记录在记录集中的位置
解决方案 »
- 如何调用默人的邮件程序发送邮件带上附件还要
- 插入语句
- delphi中 ctrl+空格 的问题,在线等待!!
- 请教delphi7 做的webserver 如何发布?
- 100分 delphi c/s 技术难点 to me 急急急
- carion
- 怎样在另一FORM里调用UNIT的一个函数,并给他这样的输入参数:已打开的的ADO数据库表、已初始化的树视图控件,还有数据库的字段
- DBGridEH输出到excel问题?
- 有visual c ,有visual pascal(即delphi)。怎么就没有visual 汇编?
- 为什么在修改imagelist的大小时,图标都必须重新加入?为什么?
- Delphi没有回收垃圾的功能吗
- 关于打开窗体的简单问题?急!!!!!!!
在adoquery的CalcFields事件里写上:
procedure TForm1.ADOQuery1CalcFields(DataSet: TDataSet);
begin
if dataset.FieldByName('RNo').IsNull then
dataset.FieldByName('rno').Value := dataset.RecNo ;
end;
//ok了
就用下面的:
procedure TForm1.ADOQuery1CalcFields(DataSet: TDataSet);
begin if dataset.FieldByName('RNo').IsNull then
if dataset.RecNo <0 then
dataset.FieldByName('rno').Value := 1
else
dataset.FieldByName('rno').Value := dataset.RecNo ;
end;
显示在你的dbgrid就可以了
设定序号列的TITLE属性集合的CAPTION属性值为’序号‘。
然后在DBGRID的ONDrawColumnCell写代码如:
NO是在前面定义的一全局变量,赋初值1。
if column.FieldName='no' then
begin
dbgrid1.Canvas.Pen.Color:=clblack;
dbgrid1.Canvas.TextOut(rect.left,rect.top,inttostr(no));
no:=no+1;
end;
还有,当该数据集组件关闭时,记得赋no值为1
或者直接赋值recno值也是可以的