以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 用递归函数生成会计科目目录树,如何只筛选出末级科目? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=144299) |
-- 作者:sloyy -- 发布时间:2019/12/16 17:20:00 -- 用递归函数生成会计科目目录树,如何只筛选出末级科目? 例子里有个"用递归函数生成会计科目目录树" 目录树的NodeMouseDoubleClick事件代码设置为: Dim
trv As WinForm.TreeView =
e.Form.Controls("TreeView1") 这样双击某个节点,即可将此节点及其子节点对应的行全部筛选出来。 这是原始例子的代码; 现在我想改一下: 双击某个节点,将此节点及其子节点对应的最末一级科目全部筛选出来,要如何改代码? 不是在目录树里筛选,是在表里面筛选 [此贴子已经被作者于2019/12/16 17:21:09编辑过]
|
-- 作者:有点蓝 -- 发布时间:2019/12/16 17:38:00 -- Dim s As String = "" For Each n As WinForm.TreeNode In e.Node.AllNodes If n.Nodes.Count = 0 Then s = s & ",\'" & n.name & "\'" End If Next Tables("会计科目").Filter = "科目代码 in (" & s.trim(",") & ")"
|
-- 作者:sloyy -- 发布时间:2019/12/17 15:42:00 -- 谢谢蓝大师,不过代码有个bug,双击最末一级科目,反倒取不到值,还要改一下 |
-- 作者:有点蓝 -- 发布时间:2019/12/17 15:52:00 -- Dim s As String = "" if e.Node.nodes.count = 0 then s = "\'" & e.Node.name & "\'" else For Each n As WinForm.TreeNode In e.Node.AllNodes If n.Nodes.Count = 0 Then s = s & ",\'" & n.name & "\'" End If Next end if
|
-- 作者:sloyy -- 发布时间:2019/12/17 16:13:00 -- 干得漂亮 |