怎样实现在DBGRID中滚动滚动条时而保持当前记录不随移动?多谢! (50分)

S

stucxm

Unregistered / Unconfirmed
GUEST, unregistred user!
我要在DBGRID中滚动滚动条时而保持当前记录不随移动,也就是当立前焦点不会改变,请问怎么
实现?谢谢!
 
好像DBGrid实现不了
换控件
 
TO: TWOS:
请问换什么控件才可以实现?
 
有什么dxDBGrid之类的],网上可以下载到的
这里讨论的也比较多,你可以看一下
 
换stringgrid,嘻嘻
只要先把dataset中所有纪录都读入stringgrid就行了

dbaware的控件要实现这个功能很复杂的。 因为dbaware的grid控件每次只缓存能显示的
那一页的数据, 不移动当前纪录不可能获得超过当前显示出来的数据之外的纪录。 要实现
你说的功能, 只有移动前保存当前纪录, 并且保存所有移动当前纪录时会触发的事件并清空
所有相关事件, 如果是edit状态则保存所有做过的修改,然后cancel掉当前纪录的修改,
移动纪录, 获取新的显示内容,再将纪录移回原来的位置,并恢复所有相关的事件,如果原来
是edit状态则将保存下来的修改内容填回去。

从上面所作的工作来看, 估计没有一种dbgrid控件会提供这种功能,因为效率太低,
没有一种控件会为了显示上好看而作这么复杂而低效的事。
 
多谢Pearl大侠的指教,难道这个问题就没有解决的办法了吗?
 
有啊, 不是说了嘛
如果数据量小的话就把数据全部读入stringgrid(或者其它什么grid)里。 估计dbaware的grid控件都不行。只有用不是db相关的grid控件然后自己处理纪录移动的事件。
 
问题是我的数据记录很多,而且要显示的窗口又多,如果按pearl所说的方法做的话我怕是很麻烦
的,不知道还有没有简单一点的方法?
 
这个问题到底有解吗? 呵呵
 
顶部