以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 单击目录树,运行慢; (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=101047) |
-- 作者:yancheng -- 发布时间:2017/5/24 10:26:00 -- 单击目录树,运行慢; 目录树-NodeMouseClick事件:运行一次,要3-5S。 Dim Filter As String = "" If e.Node.Name = "所有清单" Then filter = "" Else Dim dr As DataRow = e.Node.DataRow Sele ct Case e.Node.Level Case 0 Return Case 1 Return Case 2 filter = "专业 = \'" & dr("专业") & "\' and 一级分部 = \'" & dr("一级分部") & "\' and 二级分部 = \'" & dr("二级分部") & "\'" Case 3 If dr.IsNull("三级分部") = True filter = "专业 = \'" & dr("专业") & "\' and 一级分部 = \'" & dr("一级分部") & "\' and 二级分部 = \'" & dr("二级分部") & "\'and 子目名称 = \'" & dr("子目名称") & "\'" \'Dim drs As List(of DataRow) = Tables("材料指引").DataTable.Select("选 =1") \'For Each dr1 As DataRow In drs \'dr1("选") = 0 \'Next Else filter = "专业 = \'" & dr("专业") & "\' and 一级分部 = \'" & dr("一级分部") & "\' and 二级分部 = \'" & dr("二级分部") & "\'and 三级分部 = \'" & dr("三级分部") & "\'" End If Case 4 If dr.IsNull("四级分部") = True filter = " 三级分部 = \'" & dr("三级分部") & "\' and 专业 = \'" & dr("专业") & "\' and 一级分部 = \'" & dr("一级分部") & "\' and 二级分部 = \'" & dr("二级分部") & "\'and 子目名称 = \'" & dr("子目名称") & "\'" \'Dim drs As List(of DataRow) = Tables("材料指引").DataTable.Select("选 =1") \'For Each dr1 As DataRow In drs \'dr1("选") = 0 \'Next Else filter = " 专业 = \'" & dr("专业") & "\' and 一级分部 = \'" & dr("一级分部") & "\' and 二级分部 = \'" & dr("二级分部") & "\'and 三级分部 = \'" & dr("三级分部") & "\' and 四级分部 = \'" & dr("四级分部") & "\'" End If Case 5 filter = " 三级分部 = \'" & dr("三级分部") & "\' and 专业 = \'" & dr("专业") & "\' and 一级分部 = \'" & dr("一级分部") & "\' and 二级分部 = \'" & dr("二级分部") & "\'and 四级分部 = \'" & dr("四级分部") & " \' and 子目名称 = \'" & dr("子目名称") & "\' " \'Dim drs As List(of DataRow) = Tables("材料指引").DataTable.Select("选 =1") \'For Each dr1 As DataRow In drs \'dr1("选") = 0 \'Next End Select End If SystemReady = False Tables("添加清单_table3").StopRedraw If filter > "" Then DataTables("清单指引").RemoveFor(filter) DataTables("清单指引").AppendLoad(filter) Tables("添加清单_table3").filter = filter Else DataTables("清单指引").LoadFilter = filter DataTables("清单指引").load Tables("添加清单_table3").filter = filter End If Tables("添加清单_table3").ResumeRedraw SystemReady = True \'Tables("添加清单_table2").filter = filter [此贴子已经被作者于2017/5/24 10:26:18编辑过]
|
-- 作者:有点色 -- 发布时间:2017/5/24 10:34:00 -- 你用了AppendLoad和Load,如果你的表格数据较大,或者加载的数据较大,几秒的延迟是正常的。
如果数据不多,建议你直接加载所有数据进来。 |
-- 作者:yancheng -- 发布时间:2017/5/24 12:59:00 -- 数据也不大。每次用它加载 的数据,appload ,一次1000条以内吧。(我现在是局域网内操作。登录 的自己的IP)都这么慢。如果放到云服务器。不得更慢了。 因为,我表多。表内的数据每个,不想每个加载,这样的开启软件太慢了。
[此贴子已经被作者于2017/5/24 13:01:41编辑过]
|
-- 作者:有点色 -- 发布时间:2017/5/24 14:39:00 -- 你如果不用appendload,直接用load呢?是否也是同样的慢?
加载数据,慢是正常的。如果太慢,建议在数据库那里,做一下索引。 |
-- 作者:舟舟 -- 发布时间:2017/5/24 14:52:00 -- 代码好多,可以优化优化 |