以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]动态目录树节点如何实现筛选?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=44187)

--  作者:xu3180497
--  发布时间:2013/12/25 9:22:00
--  [求助]动态目录树节点如何实现筛选?

上传了一个例子,就按照那个例子来表述我的问题。

现在有一个“材料费预算表”,窗口“目录筛选树”中有一个目录树,这个目录树的节点不是固定的,是从材料费预算表的列获取的,至于是那几列的数据是可以进行设置的,这个在“设置”按钮可以设置,然后问题就是:对于这样动态的设置目录树,我的NodeMouseClick如何去实现单击节点按照客户自己的设置区筛选数据呢?现在例子只能针对默认的筛选数据,如果改变了节点的值或者增加删除节点了,筛选的数据就不对甚至是会出错了。

不知道应该如何实现呢?请大神帮忙指点指点!!!

 

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


--  作者:Bin
--  发布时间:2013/12/25 9:28:00
--  
不是很明白你的意思,基于这个方式的筛选.你删除节点,修改节点,并不会有影响的啊.
--  作者:xu3180497
--  发布时间:2013/12/25 9:32:00
--  
你看我的例子中NodeMouseClick中的列名是写死的啊,如果列换了,不就不能按照需要筛选了。这个并不是自动筛选呢。
--  作者:Bin
--  发布时间:2013/12/25 9:35:00
--  
你想一个筛选树,通用所有表? 那肯定不行.
--  作者:xu3180497
--  发布时间:2013/12/25 9:38:00
--  
不是通用所有表啊,是能够让客户选择不同列去筛选的呢,表就只有那“材料费预算表”。只是想筛选节点是可以动态选择那个表的不同列。如果不能新增删除节点也可以。只要能更换节点为不同的列就好。
--  作者:Bin
--  发布时间:2013/12/25 9:46:00
--  
Dim Value() As String
Dim names() As String = DataTables("系统参数表").DataRows(0)("目录树节点").split("|")
Value = e.Node.FullPath.Split("\\")
Select Case e.Node.Level
    Case 0
            Tables("材料费预算表").filter = names(0) & " = \'" & Value(0) & "\'"
    Case 1
            Tables("材料费预算表").filter = names(0) & " = \'" & Value(0) & "\' And " &  names(1) & " = \'" & Value(1) & "\'"
    Case 2
            Tables("材料费预算表").filter =  names(0) & " = \'" & Value(0) & "\' And " &  names(1) & " = \'" & Value(1) & "\' And " &  names(2) & " = \'" & Value(2) & "\'"
    Case 3
             Tables("材料费预算表").filter =  names(0) & " = \'" & Value(0) & "\' And " &  names(1) & " = \'" & Value(1) & "\' And " &  names(2) & " = \'" & Value(2) & "\' and " &  names(3) & " = \'"& Value(3) &"\'"
End Select

这样做即可.

--  作者:Bin
--  发布时间:2013/12/25 9:46:00
--  
.
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:目录树筛选.table


--  作者:xu3180497
--  发布时间:2013/12/25 9:48:00
--  

谢谢Bin老师,刚刚也想到是这样来着,一时糊涂,多谢!!!