关于DBGIRL的一个不便。(70分)

  • 主题发起人 主题发起人 feng_me
  • 开始时间 开始时间
F

feng_me

Unregistered / Unconfirmed
GUEST, unregistred user!
带有DBGIRL的一个程序运行时,我在DBGIRL里点击第一条信息后,按“下”键。
它指向第二条信息。但右面的滚动条却一下子滑到中间。非常不方便。
我在CSDN里没有得到答复,这里哪位富翁解答一下。
谢谢了。
(是不是DELPHI的BUG?好多人都碰见了)
 
DBGIRL是什么?
 
呵呵,我也不懂。不知有没有DBBOY?
 
不能算是Delphi的BUG,DBGrid的滚动条并不是设计来作为导航条用的,准确的说,它几乎没有
任何作用(唯一的:表示现在的记录很多,一屏幕显示不完),如果你认为不方便的话,可以自己
做一个假的。
 
怎么做啊?
大哥,分不够可以加!
谢谢了。
 
用DBNavigator代替算了
 
当记录数少时才会出现这个现象,记录数一多,就能达到你想的那样了。
 
记录数多时也会有这样的问题, you can use Tscrollbar instead of it,
set Kind property,
and run time set max to (table1.recordcount -1),
min to 0, SmallChange to 1;
then add event to onchange and onscroll to move selected record
 
我也觉得ht99说的对
 
不是啊,我的数据库理有10万条纪录阿.
 
好象 很多表格控件都是这样!
 
你把dbgrid的width值设置的太大了,设小一点看看,记得我遇见
过这个问题.
 
DBGrid 就是你样,用DBGridEh 吧。
 
to huacz:
设多小啊?
 
各字段的width和不要超过dbgrid的width
 
正确,事情就是这样,无论你如何做,DBGRID的SCROLL BAR只能是这样子的。
众所周知,要正确显示SCROLLBAR的位置必须算出与这个DBGRID相连的数据集的记录总和
但是在大型数据库比如SQLSERVER、ORACLE中要统计出记录总和是相当耗时的,所以BORLAND
采取了这样的办法。。。。。没办法的办法啦

不过做本地数据库倒是可以正确显示啦。但要换数据库驱动,比如APOLLO VCL+EHLIB就可以
了。

或者用TOPGRID这个控件。。
www.51delphi.com
 
不可能人为改变滚动条的位置,建议改别的控件。
 
多人接受答案了。
 
后退
顶部