Foxtable(狐表)用户栏目专家坐堂 → [求助] TreeView目录树直接用SQL数据表?


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

主题:[求助] TreeView目录树直接用SQL数据表?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/10/10 15:17:00 [显示全部帖子]

不是死机吧。是不是你获取的数据量太大?执行下面的代码,看你表格有多少行。

 

msgbox(sqldt.datarows.count)

[此贴子已经被作者于2018/10/10 15:17:34编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/10/11 9:22:00 [显示全部帖子]

每次只加载一层或两层的目录树,不全部生成

 

http://www.foxtable.com/webhelp/scr/2502.htm

 

类似 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=117734&skin=0

 

不会做,就发实例上来测试


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/10/11 11:56:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:文件目录树 (1).table


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/10/11 14:26:00 [显示全部帖子]

窗口2_Button2_Click

Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim dt As DataTable = DataTables("表A")
Dim fi As String = "代码 not like '%.%'"
tr.nodes.Clear
Dim drs As List(of DataRow) = dt.Select(fi)
For Each dr As DataRow In drs
    Dim nd = tr.Nodes.Add(dr("代码"),dr("代码") & "(" & dr("名称") & ")")
    For Each cdr As DataRow In dt.Select("代码 like '" & dr("代码") & ".%'")
        If cdr("代码").split(".").length = dr("代码").split(".").length+1 Then
            nd.Nodes.Add(cdr("代码"),cdr("代码") & "(" & cdr("名称") & ")")
        End If
    Next
Next

 

 

窗口2_TreeView1_BeforeExpandNode

Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim dt As DataTable = DataTables("表A")
Dim fi As String = "代码 like '" & e.node.name & ".%'"
e.node.nodes.Clear
Dim drs As List(of DataRow) = dt.Select(fi)
For Each dr As DataRow In drs
    If dr("代码").split(".").length = e.node.name.split(".").length+1 Then
        Dim nd = e.node.Nodes.Add(dr("代码"),dr("代码") & "(" & dr("名称") & ")")
        For Each cdr As DataRow In dt.Select("代码 like '" & dr("代码") & ".%'")
            If cdr("代码").split(".").length = dr("代码").split(".").length+1 Then
                nd.Nodes.Add(cdr("代码"),cdr("代码") & "(" & cdr("名称") & ")")
            End If
        Next
    End If
Next


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/10/12 14:55:00 [显示全部帖子]

Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim dt As DataTable = DataTables("表A")
Dim fi As String = "代码 not like '%.%'"
tr.nodes.Clear
Dim drs As List(of DataRow) = dt.Select(fi)
For Each dr As DataRow In drs
    Dim nd = tr.Nodes.Add(dr("代码"),dr("代码") & "(" & dr("名称") & ")")
    For Each cdr As DataRow In dt.Select("代码 like '" & dr("代码") & ".%'")
        If cdr("代码").split(".").length = dr("代码").split(".").length+1 Then
            nd.Nodes.Add(cdr("代码"),cdr("代码") & "(" & cdr("名称") & ")")
            Exit For
        End If
    Next
Next

 

----------------------

 

Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim dt As DataTable = DataTables("表A")
Dim fi As String = "代码 like '" & e.node.name & ".%'"
e.node.nodes.Clear
Dim drs As List(of DataRow) = dt.Select(fi)
For Each dr As DataRow In drs
    Dim ddr = dt.find("代码 like '" & dr("代码") & ".%'")
    If ddr IsNot Nothing Then
        If dr("代码").split(".").length = e.node.name.split(".").length+1 Then
            Dim nd = e.node.Nodes.Add(dr("代码"),dr("代码") & "(" & dr("名称") & ")")           
            For Each cdr As DataRow In dt.Select("代码 like '" & dr("代码") & ".%'")
                If cdr("代码").split(".").length = dr("代码").split(".").length+1 Then
                    Dim dddr = dt.find("代码 like '" & cdr("代码") & ".%'")
                    If dddr IsNot Nothing Then
                        nd.Nodes.Add(cdr("代码"),cdr("代码") & "(" & cdr("名称") & ")")
                        Exit For
                    End If
                End If
            Next
        End If
    End If
Next


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/18 17:44:00 [显示全部帖子]

以下是引用2900819580在2018/12/18 17:31:00的发言:
老师,数据多了还是很卡,下一级如果有二十个就明显的卡,如果超过五十个,就感觉有假死了。

 

具体实例发上来测试。


 回到顶部