以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  运行很慢  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=151781)

--  作者:tld
--  发布时间:2020/7/3 11:20:00
--  运行很慢
老师,我如下代码在台式机上面运行很快,但是在我的笔记本电脑上面运行很慢。我的笔记本电脑是p52,配置 i7 8750H高U ,内存16G,固态 配置应该不低,运行其他程序未见异常,但是下面代码运行了十几秒,不知道什么原因。
msgbox(1)
    For Each dc As Col In tb_ls.Cols
        If dc.name<>"任务类别" Then  
            If DataTables("流水临时").DataCols(dc.name).Expression = "" Then
                tb_ls.current(dc.name)=e.row(dc.name)
            End If
        End If
    Next
   msgbox(2)

如何改进呢?

谢谢!

[此贴子已经被作者于2020/7/3 11:25:14编辑过]

--  作者:有点蓝
--  发布时间:2020/7/3 11:32:00
--  
贴出完整代码,在什么事件的?加载多少数据?
--  作者:tld
--  发布时间:2020/7/3 13:27:00
--  
老师,我改了下代码,就没有问题了
    Dim d_ls As Row = tb_ls.AddNew()
    d_ls("任务类别")=Public_任务类别
    For Each dc As Col In tb_ls.Cols
        Dim dcnm As String = dc.name
        If dcnm <>"任务类别" Then  
            If  dc.DataCol.Expression = "" Then
                d_ls(dcnm)=e.Row(dcnm)
            End If
        End If
    Next
在笔记本上面多次引用dc.name 会导致变慢,但台式机就没有问题。看来,再好的笔记本也没有台式机快。

[此贴子已经被作者于2020/7/3 13:27:43编辑过]