以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 动态增加多行并赋值,速度很慢 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=97902) |
-- 作者:goldenfont -- 发布时间:2017/3/20 20:19:00 -- 动态增加多行并赋值,速度很慢 用代码增加1万条记录,每条记录赋值,每AddNew一条然后赋值,比较慢,有啥快的方法吗? |
-- 作者:goldenfont -- 发布时间:2017/3/20 20:22:00 -- StopRedraw和ResumeRedraw已使用的情况下 |
-- 作者:有点蓝 -- 发布时间:2017/3/20 20:43:00 -- 贴出你的完整代码 http://www.foxtable.com/webhelp/scr/1935.htm |
-- 作者:goldenfont -- 发布时间:2017/3/22 13:47:00 -- DataTables(tblName).StopRedraw For i As Integer = 0 To max \'一般这里是10000行数据 Dim dr As DataRow = DataTables(tblName).AddNew() dr("固定位数") = digit dr("校验位") = Functions.Execute("计算校验位",digit) \'根据固定位数算出校验位 dr("合并显示") = digit & dr("校验位") \'合并起来显示 dr("是否分配") = False dr("是否禁用") = False Next DataTables(tblName).ResumeRedraw DataTables(tblName).Save() \'增加完毕后保存表
|
-- 作者:有点色 -- 发布时间:2017/3/22 14:54:00 -- Systemready = False DataTables(tblName).StopRedraw For i As Integer = 0 To max \'一般这里是10000行数据 Dim dr As DataRow = DataTables(tblName).AddNew() dr("固定位数") = digit dr("校验位") = Functions.Execute("计算校验位",digit) \'根据固定位数算出校验位 dr("合并显示") = digit & dr("校验位") \'合并起来显示 dr("是否分配") = False dr("是否禁用") = False Next DataTables(tblName).ResumeRedraw msgbox("新增完毕") DataTables(tblName).Save() \'增加完毕后保存表 msgbox("保存完毕") Systemready = True |