以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  多选数据代码优化问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=74664)

--  作者:supwork
--  发布时间:2015/9/16 12:07:00
--  多选数据代码优化问题

        Dim drs As List(Of DataRow) = tb.DataTable.Select("多选 = true") \'遍历所有已经勾选的行
        DataTables("出入记录_明细表").StopRedraw
        For Each r As DataRow In drs
            If  r("多选")= True Then \'取消勾选此行
                Dim drr As Row = Tables("出入记录_主表.出入记录_明细表").AddNew
                drr("产品编码")= r("产品编码")
                drr("产品名称") = r("产品名称")
                drr("产品规格") = r("产品规格")
                drr("单位") = r("单位")
            End If
        Next
        DataTables("出入记录_明细表").ResumeRedraw

这个循环遍历从目标表选择多条数据返回到另一个目标表中,如果选择的数据少,几条或几十条,速度感觉还可以

 

如果选择的数据上百条后,感觉效率不高,有明显的等待时间。

 

如何优化这段代码或数据返回方式?


--  作者:大红袍
--  发布时间:2015/9/16 14:21:00
--  
Dim drs As List(Of DataRow) = tb.DataTable.Select("多选 = true") \'遍历所有已经勾选的行
Tables("出入记录_主表.出入记录_明细表").StopRedraw
SystemReady = False
For Each r As DataRow In drs
    Dim drr As Row = Tables("出入记录_主表.出入记录_明细表").AddNew
    drr("产品编码")= r("产品编码")
    drr("产品名称") = r("产品名称")
    drr("产品规格") = r("产品规格")
    drr("单位") = r("单位")
Next
SystemReady = True
Tables("出入记录_主表.出入记录_明细表").ResumeRedraw