Foxtable(狐表)用户栏目专家坐堂 → 如果为被勾选的TreeView筛选行加上背景颜色


  共有3665人关注过本帖树形打印复制链接

主题:如果为被勾选的TreeView筛选行加上背景颜色

帅哥哟,离线,有人找我吗?
lanbor
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:433 积分:4351 威望:0 精华:0 注册:2017/3/20 21:08:00
如果为被勾选的TreeView筛选行加上背景颜色  发帖心情 Post By:2023/5/17 13:42:00 [只看该作者]

针对以下实例。
请教专家:
如何为被勾选的筛选行设置整行整行蓝色背景?
取消勾选后,背景颜色还原。
感谢专家!
----------------------------------------------
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

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110750 积分:563676 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/5/17 13:48:00 [只看该作者]

aftetcheckednode事件

e.Node.Backcolor = IIf(e.Node.Checked,color.blue,color.Transparent)

 回到顶部
帅哥哟,离线,有人找我吗?
lanbor
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:433 积分:4351 威望:0 精华:0 注册:2017/3/20 21:08:00
再请教:TreeView筛选行,获取所有被勾选节点。  发帖心情 Post By:2023/5/17 16:17:00 [只看该作者]

再请教专家,
如何获取 TreeView 多选筛选功能中
已经被沟选过的所有行?
比如:这个For Each nd As WinForm.TreeNode In ***  语句应该如何写?

谢谢专家!

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110750 积分:563676 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/5/17 16:32:00 [只看该作者]

只能像1楼那样,遍历所有行,进行判断

For Each nd In trv.AllNodes
    If nd.Checked Then

 回到顶部