如何在TDBGRID中显示排列序号(40分)

  • 主题发起人 主题发起人 328xy
  • 开始时间 开始时间
3

328xy

Unregistered / Unconfirmed
GUEST, unregistred user!
我想让查询值在TDBGRID中的第一列显示对数据行的排列顺序号,例如:

序号 F1 F2 F3
1
2
3
4
...
 
最初所想在数据库中加入一个自增的ID字段,但自增的字段会因为删除或查询条件的原因
变的不连续,我需要一个连续的从1--N的排列序号
 
用SQL语句可以实现
 
怎么写啊,请指点
 
如果是AdoQuery,可在AdoQuery增加一个计算字段,使它等于AdoQuery.recno
 
还有个简单的办法,假设您使用的是ADOQUERY,在TADOquery控件的字段内添加一个INTEGER
型或STRING型的自动计算字段,并在该字段的GetText事件中加添如下语句:
Text := IntToStr(ADOQuery1.RecNo);
最后再将该字段与DBGRID关联

保证见效!!!
 
同意 thinknet,但还是有些不完美的地方,我最后还是放弃了这个方法。
 
好像听说用什么 RcdNo可以吧,不知道真的假的,我没用过

可以查查以前的资料说不定能找到
 
尽量不用计算字段

慢呀
 
yobdrow问题请教:
计算字段为什么会慢呀?
在被显示的行数据,才会产生计算事件呀?
 
和EXCEL关联后可以吗?
关注中
 
用数组和数据库来做就好了
 
只有添加计算字段的方法吗
 
用REcNo
或用你的ID字段,当然可以是其它的,但在读取前对它初始化。
 
recNO,好是好可是很多大型的数据库根本就取不到。
如果你不想在Tdbgrid里面做录入的话可以用Tdbgrid(Dbgrid1).row来取得它的行号来
写进去。应该不会有问题
 

Similar threads

S
回复
0
查看
701
swish
S
D
回复
0
查看
753
DelphiTeacher的专栏
D
D
回复
0
查看
659
DelphiTeacher的专栏
D
后退
顶部