以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]多值列,不重复值生成第一级目录树  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=169411)

--  作者:miaoqingqing
--  发布时间:2021/6/15 16:38:00
--  [求助]多值列,不重复值生成第一级目录树
如题
--  作者:有点蓝
--  发布时间:2021/6/15 16:57:00
--  
请截图或者上传实例说明
--  作者:miaoqingqing
--  发布时间:2021/6/15 20:25:00
--  回复:(有点蓝)请截图或者上传实例说明
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:第一列不重复值生成第一级目录树.foxdb


--  作者:有点蓝
--  发布时间:2021/6/15 20:52:00
--  
不理解您的意思,在哪里生成目录树?如果是指列下拉目录树,这个是没有办法的。


--  作者:miaoqingqing
--  发布时间:2021/6/15 20:59:00
--  回复:(有点蓝)不理解您的意思,在哪里生成目录树?...
版主,帮忙看看一下了
求助在 窗口目录树控件, 第一列多值,排除重复值后,生成第一级目录。 第二列 是第二级目录树
第一列   第二列
第一级   第二级

电脑 戴尔
手机 三星
电脑 三星
手机 华为
电脑 华为
水果 苹果
手机 苹果
电脑 苹果

而且 目录树第一级和第二级 不会重复出现
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:第一列不重复值生成第一级目录树.foxdb



[此贴子已经被作者于2021/6/15 22:06:48编辑过]

--  作者:有点蓝
--  发布时间:2021/6/15 22:37:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:第一列不重复值生成第一级目录树.zip


--  作者:miaoqingqing
--  发布时间:2021/6/15 23:28:00
--  回复:(有点蓝)[upload=zip,第一列不重复值生成第一...
下面代码只生成2级目录树   第一列1级   第二列2级
      求助,生成3级目录树,代码怎么修改? 第一列1级   第二列2级  第三列3级

Dim s As String = DataTables("表A").GetComboListString("第一列","第一列 is not null").replace("|",",")
Dim lst As new List(of String)
For Each s1 As String In s.Split(",")
    If lst.Contains(s1) = False Then
        lst.Add(s1)
    End If
Next
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim node As WinForm.TreeNode
For Each s In lst
    node = trv.Nodes.Add(s,s)
    For Each s2 As String In DataTables("表A").GetComboListString("第二列","\',\'+第一列+\',\' like \'%," & s & ",%\'").split("|")
        node.Nodes.Add(s2)
    Next
Next
[此贴子已经被作者于2021/6/16 0:00:01编辑过]

--  作者:有点蓝
--  发布时间:2021/6/16 8:33:00
--  
再加一个for循环即可


--  作者:miaoqingqing
--  发布时间:2021/6/16 12:06:00
--  回复:(有点蓝)再加一个for循环即可或者学学递归:h...
目录树改为 复选框,勾选多个复选框,筛选,下面代码怎么修改,求助:

下面代码只能当前节点筛选

Dim Filter As String
Dim dr As DataRow = e.Node.DataRow \'获取生成此节点的行
If e.Node.Text <> "显示所有行" Then
    Select Case e.Node.Level
        Case 0
            Filter ="[跟进人员] like \'%" & e.Node.name & "%\'"
        Case 1
            Filter = "[跟进人员] like \'%" & e.Node.ParentNode.name & "%\' And [优先权] like \'%" & e.Node.name & "%\'"
        Case 2
            Filter = "[跟进人员] like \'%" & e.Node.ParentNode.name & "%\' And [优先权] like \'%" & e.Node.name & "%\' and And [第三列] like \'%" & e.Node.name & "%\'"
    End Select
End If
Tables("待办事宜").Filter = Filter

--  作者:有点蓝
--  发布时间:2021/6/16 13:31:00
--  
参考:http://www.foxtable.com/webhelp/topics/2503.htm