读书人

DBGridEh footer 赋值时间好慢,求解决

发布时间: 2012-02-14 19:19:19 作者: rapoo

DBGridEh footer 赋值时间好慢,,求解决
DBGridEh.Columns[j].Footers[0].Value := val';

界面上控件较多,,,上面这行代码共被执行 七,八 千次赋值太慢了.....整个时间四十多秒呢,其中 val 的读取是从七八千行的INI文件中读取出来的,,经过计算读取时间也只就十几秒,怎么全程下来就四十多秒呢.

哪位教下如何提高速度,,,,


[解决办法]
1、建议还是放在数据表中,做好索引。利用循环来做,这样做的好处是减少了查询的环节。
2、在做 DBGridEh.Columns[j].Footers[0].Value := val'; 的过程中,两个数据源都需要 ADO.DisableControl;结束时要ADO.EnableControl;

Ado1.disableControl;//ini数据
ADO2.disableControl;//Dbgrideh数据
Ado1.first;
while not ado1.eof do begin
DBGridEh.Columns[ado1.recno()].Footers[0].Value := ado1.fieldbyname('val').asstrinng;
ado1.next;
end;
ADO2.EnableControl;

[解决办法]
好强大的INI

读书人网 >.NET

热点推荐