以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]已解决 目录树下多选复选框不能实现筛选的问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=21577) |
||||
-- 作者:zundonglin -- 发布时间:2012/7/17 22:35:00 -- [求助]已解决 目录树下多选复选框不能实现筛选的问题
首先谢谢狐爹!!!
如何实现多选不同父节点下的子节点进行筛选
建立了一个窗口,插入目录树控件
窗口AfterLoad代码
Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1")
http://www.foxtable.com/help/index.html?n=2503.htm 此示例为两级
看了论坛里的 “[求助] 复选框目录树 增加节点 ”的主题,引用了代码:
Dim trv As WinForm.TreeView = e.Sender
提示:System.Data.EvaluateException: 未找到列[软件]
改用狐神mr725的代码,如下:
文字功底差,可能说的不够通顺,还请狐爹莫怪,谢谢
[此贴子已经被作者于2012-7-19 8:05:10编辑过]
|
||||
-- 作者:mr725 -- 发布时间:2012/7/17 22:48:00 -- 1、没看明白你说的是啥意思 2、做个试用版的例子吧,手头没有开发版··· 3、或用图来演示你的要求。 |
||||
-- 作者:zundonglin -- 发布时间:2012/7/18 0:32:00 --
狐神请看例子,
在这个项目里我不能实现多选目录树的复选框来进行筛选
刚才匆匆忙忙做的项目,感觉和开发版有点不一样,不过还是能说明问题
先谢过了!!! |
||||
-- 作者:狐狸爸爸 -- 发布时间:2012/7/18 7:09:00 -- 看看这个例子: http://www.foxtable.com/help/topics/2503.htm
|
||||
-- 作者:zundonglin -- 发布时间:2012/7/18 18:09:00 -- 这个例子只有两级节点,BuildTree("表A", "a|b")
我的是三级节点,BuildTree("表A", "a|b|c")
本人是菜狐一只,还请狐爹和路过的狐友们帮忙详解,谢谢!!! [此贴子已经被作者于2012-7-18 18:09:33编辑过]
|
||||
-- 作者:don -- 发布时间:2012/7/18 22:52:00 -- 对比1楼你写的和这个有什么不同: Dim trv As WinForm.TreeView = e.Sender Dim flt As String For Each nd As WinForm.TreeNode In e.node.Nodes \'同步子节点选中状态 nd.Checked = e.Node.Checked Next If e.node.ParentNode IsNot Nothing Then \'去掉父节点选中状态 e.node.ParentNode.Checked = False End If For Each nd As WinForm.TreeNode In trv.AllNodes If nd.Level > 0 AndAlso nd.ParentNode.Checked Then \'如果父节点选中 Continue For \'跳过此节点,处理下一结点 End If If nd.Checked Then If flt > "" Then flt = flt & " Or " \'注意用or而不是And End If If nd.Level = 0 Then \'注意下面的条件都要用括号括起来 flt = flt & "(大类 = \'" & nd.Text & "\')" ElseIf nd.Level = 1 Then flt = flt & "(大类= \'" & nd.ParentNode.Text & "\' And 二类 = \'" & nd.Text & "\')" Else flt = flt & "(大类= \'" & nd.ParentNode.ParentNode.Text & "\' And 二类 = \'" & nd.ParentNode.Text & "\' And 三类 = \'" & nd.Text & "\')" End If End If Next Tables("文件管理").Filter = flt
[此贴子已经被作者于2012-7-18 23:03:49编辑过]
|
||||
-- 作者:zundonglin -- 发布时间:2012/7/19 8:04:00 -- 谢谢狐爹,我终于发现问题了
所以提示:System.Data.EvaluateException: 未找到列[软件] 这里的软件并非列名,只是表数据
问题解决了,谢谢大家
[此贴子已经被作者于2012-7-19 8:08:24编辑过]
|