|
|
高级表格逐行写入时不断刷新界面,是慢的主因。把重绘关了就行,3500行数据一秒内完事。
例程:
.版本 2
.支持库 eGrid
.支持库 SqliteDB
子程序 _按钮1_被单击
局部变量 i, 整数型
局部变量 j, 整数型
局部变量 行数, 整数型
局部变量 列数, 整数型
局部变量 数据集, Sql记录集
高级表格1.重画 = 假 ' 关键:禁止刷新
数据集 = Sqlite数据库1.取记录集 (“SELECT * FROM 物品表”, )
如果真 (数据集.取记录数 () > 0)
行数 = 数据集.取记录数 ()
列数 = 数据集.取字段数 ()
高级表格1.行数 = 行数
高级表格1.列数 = 列数
计次循环首 (行数, i)
计次循环首 (列数, j)
高级表格1.置数据 (i - 1, j - 1, #表格常量.文本型, 数据集.读文本 (j - 1))
计次循环尾 ()
数据集.到下一记录 ()
计次循环尾 ()
结束如果
高级表格1.重画 = 真 ' 一次性刷新
如果还慢,先把所有数据读到一个二维数组里,循环结束后一次性填充表格,避免循环中频繁调用数据集读字段。但加了重画控制后,3500条已经没问题。 |
|