Foxtable(狐表)用户栏目专家坐堂 → 单击目录树,运行慢;


  共有1511人关注过本帖树形打印复制链接

主题:单击目录树,运行慢;

帅哥哟,离线,有人找我吗?
yancheng
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
单击目录树,运行慢;  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/24 10:34:00 [只看该作者]

你用了AppendLoad和Load,如果你的表格数据较大,或者加载的数据较大,几秒的延迟是正常的。

 

如果数据不多,建议你直接加载所有数据进来。


 回到顶部
帅哥哟,离线,有人找我吗?
yancheng
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2017/5/24 12:59:00 [只看该作者]

数据也不大。每次用它加载 的数据,appload ,一次1000条以内吧。(我现在是局域网内操作。登录 的自己的IP)都这么慢。如果放到云服务器。不得更慢了。

因为,我表多。表内的数据每个,不想每个加载,这样的开启软件太慢了。
[此贴子已经被作者于2017/5/24 13:01:41编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/24 14:39:00 [只看该作者]

你如果不用appendload,直接用load呢?是否也是同样的慢?

 

加载数据,慢是正常的。如果太慢,建议在数据库那里,做一下索引。


 回到顶部
帅哥哟,离线,有人找我吗?
舟舟
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:125 积分:982 威望:0 精华:0 注册:2016/1/30 14:12:00
  发帖心情 Post By:2017/5/24 14:52:00 [只看该作者]

代码好多,可以优化优化

 回到顶部