以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 如果为被勾选的TreeView筛选行加上背景颜色 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=186643) |
-- 作者:lanbor -- 发布时间:2023/5/17 13:42:00 -- 如果为被勾选的TreeView筛选行加上背景颜色 针对以下实例。 请教专家: 如何为被勾选的筛选行设置整行整行蓝色背景? 取消勾选后,背景颜色还原。 感谢专家! ---------------------------------------------- Dim nms As String() = {"客户", "产品", "雇员"} \'指定生成目录树的各列 Dim qts As String() = {"\'", "\'", "\'"} \'指定将各列的值括起来的符号,这里都是字符型,所以都是单引号 Dim trv As WinForm.TreeView = e.Sender Dim flt As String Dim nd As WinForm.TreeNode For Each nd In e.node.allNodes \'清除子节点的选中标记 nd.Checked = False Next nd = e.Node.ParentNode Do While nd IsNot Nothing \'清除父节点的选中标记 nd.Checked = False nd = nd.ParentNode Loop For Each nd In trv.AllNodes If nd.Checked Then Dim rts() As String = nd.FullPath.Split("\\") Dim val As String = "" For i As Integer = 0 To rts.length - 1 If val > "" Then val = val & " And " End If val = val & nms(i) & " = " & qts(i) & rts(i) & qts(i) Next If flt > "" Then flt = flt & " Or (" & val & ")" Else flt = val End If End If Next Tables("订单").Filter = flt
|
-- 作者:有点蓝 -- 发布时间:2023/5/17 13:48:00 -- aftetcheckednode事件 e.Node.Backcolor = IIf(e.Node.Checked,color.blue,color.Transparent)
|
-- 作者:lanbor -- 发布时间:2023/5/17 16:17:00 -- 再请教:TreeView筛选行,获取所有被勾选节点。 再请教专家, 如何获取 TreeView 多选筛选功能中 已经被沟选过的所有行? 比如:这个For Each nd As WinForm.TreeNode In *** 语句应该如何写? 谢谢专家!
|
-- 作者:有点蓝 -- 发布时间:2023/5/17 16:32:00 -- 只能像1楼那样,遍历所有行,进行判断 For Each nd In trv.AllNodes If nd.Checked Then |