是否DBGrid的一个BUG,能否解决? (100分)

  • 主题发起人 主题发起人 Sachow
  • 开始时间 开始时间
S

Sachow

Unregistered / Unconfirmed
GUEST, unregistred user!
用了那么长时间的DBGrid,竟然第一次发现有这样的问题(还是我的一个不用Borland开发
工具的同事先发现的),真是惭愧!

在窗体上放一个DBGrid,设Align属性为alClient,运行时将窗体最大化,关闭数据集并重新
打开,按着鼠标不放,向下拖动滚动条,直到鼠标位置的超过DBGrid的下边框(这时滚动条
要一直跟着鼠标走,不能弹回去),然后放开鼠标,这时就出抛出一个EInvalidGridOperation
错误,错误信息为“Grid index out of range”。
这个错误在以下情况时不会出现:
1、窗体非最大化时;
2、数据集第一次打开时;
3、数据不多,不会产生滚动条时;
4、在拖动滚动条前先点了滚动条的向下箭头;
5、在拖动滚动条前先点了DBGrid里的其中一条记录,导到滚动条向下移动时。

这个问题很隐密,但对于用户来说却会不时地出现,目前我试了多种方法,均未能妥善解决,
各位有否良策?
 
没在意,关注
 
以前我也遇到過﹗也不知道怎么解決﹗但當時沒有意識﹐還以為不小心動到哪里了﹗﹗哈
哈﹐真是好笑﹗﹗﹗
 
我用query访问access时也遇到过,不只为何,关注....
 
噢,能解决吗?
 
你是不是用BDE访问数据库的?如果是的话,把BLOBS TO CACHE和BLOB SIZE的值调大点
就好了
 
Yong说的对,正是那样的。而且我发现当我通过从视图中选取数据(字段比原天少了好几个,
数据量也就少了很多)时,即使不改BlobSize的值,也同样不会报错了。

我本来用的是ADO的,但发现一个问题:在Transaction DataModule项目中,如果使用ADO,
在初始化DataModule时就出报一个错:“不能连接到事务或没有事务”,无奈之下只好改用
BDE。有什么办法解决这个问题吗?(如果解决了,我另外开贴发分)
 
我也遇到同样的问题,关注
 
我没遇过,也关注。
 
我也没遇过,关注。
 
接受答案了.
 
后退
顶部