以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  请问怎么根据datatable生成目录树呢  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=131222)

--  作者:xiecong12
--  发布时间:2019/2/20 16:48:00
--  请问怎么根据datatable生成目录树呢
http://www.foxtable.com/webhelp/index.htm?page=0893.htm
这里的方法好像只能根据table生成目录树,而不能通过datatable生成目录树,隐藏的行就生成不了呢

--  作者:xiecong12
--  发布时间:2019/2/20 16:49:00
--  
http://www.foxtable.com/webhelp/index.htm?page=0893.htm
--  作者:有点蓝
--  发布时间:2019/2/20 17:11:00
--  
本来就是根据datatable生成目录树的,而不是根据table生成目录树

什么方式隐藏的?如果是removefor,是直接移除了,不管是datatable还是table都不会有这个行

--  作者:xiecong12
--  发布时间:2019/2/20 17:22:00
--  
用的论坛里的去重合的方法

Dim idx As String = "-1,"
Dim idx_temp As String = ""
Dim pdr As DataRow = Nothing
Dim count As Integer = 0
Dim cs As String = "第二列"
For Each dr As DataRow In DataTables("表A").Select("", "第二列, 第一列 desc")
    
    Dim flag As Boolean = False
    If pdr IsNot Nothing Then
        For Each c As String In cs.split(",")
            If pdr(c) <> dr(c) Then
                flag = True
                Exit For
            End If
        Next
    End If
    If flag Then
        If count > 1 Then
            idx &= idx_temp
        End If
        count = 1
        idx_temp = ""
    Else
        count += 1
        idx_temp &= dr("_Identify") & ","
    End If
    
    pdr = dr
Next

If count > 1 Then
    idx &= idx_temp
End If

Tables("表A").filter = "_Identify in (" & idx.trim(",") & ")"


--  作者:有点蓝
--  发布时间:2019/2/20 17:24:00
--  
这个是筛选,肯定不会影响生成的目录树,具体请上传实例说明
--  作者:xiecong12
--  发布时间:2019/2/20 18:22:00
--  
还有个问题哈,我看教程里都是说的要设置一个按钮,然后用e.Form.Controls("TreeView1")这儿来新建目录树,有没有一个语句直接新建目录树呢,比如在命令窗口直接输入一个语句然后按执行就能生成目录树
--  作者:有点蓝
--  发布时间:2019/2/20 20:23:00
--  
不能。目录树必须使用窗口的树控件
--  作者:xiecong12
--  发布时间:2019/2/21 16:49:00
--  
好的,谢谢哈