VB.net遍历搜索Treeview,找到符合字符串条件的节点
来源:互联网 发布:大数据标准化工作平台 编辑:程序博客网 时间:2024/05/13 20:48
ListView具有和Treeview相同的内容,且都有Check属性,带有复选框,现在想让ListView和Treeview的check选择对应起来:
For i = 0 To ListView2.Items.Count - 1 ListView2.Items(i).Checked = False '先清除所有选择 Next For Each n As TreeNode In GetCheck(TreeView1.Nodes) If n.Level = 1 Then '只处理子节点,不处理根节点 'Trace.WriteLine(n.Text & "," & n.Level.ToString) For i = 0 To ListView2.Items.Count - 1 If ListView2.Items(i).SubItems(1).Text = n.Text Then '与TreeView同步选择 ListView2.Items(i).Checked = True End If Next End If Next' 递归搜索 Private Function GetCheck(ByVal node As TreeNodeCollection) As List(Of TreeNode) Dim lN As New List(Of TreeNode) For Each n As TreeNode In node If n.Checked Then lN.Add(n) lN.AddRange(GetCheck(n.Nodes)) Next Return lN End Function
反之,想让Treeview和ListView的Check选择对应:
For Each node In TreeView1.Nodes NodeAllCheck(node, False) '先清除所有选择 Next For i As Integer = 0 To ListView2.CheckedItems.Count - 1 '遍历表格 For Each node In TreeView1.Nodes '根据表格选择情况,选择对应目录树节点 CheckNode(node, ListView2.CheckedItems(i).SubItems(1).Text) '递归搜索子节点 Next NextPrivate Sub CheckNode(ByVal N As TreeNode, ByVal s As String) Dim node As TreeNode If N.Text = s Then N.Checked = True End If For Each node In N.Nodes CheckNode(node, s) NextEnd Sub
全选(或全不选)的方法:
For i As Integer = 0 To ListView2.Items.Count - 1 '表格全选 ListView2.Items.Item(i).Checked = True Next For Each node As TreeNode In TreeView1.Nodes '目录树全选 NodeAllCheck(node, True) NextPrivate Sub NodeAllCheck(ByVal N As TreeNode, checkinfo As Boolean) Dim node As TreeNode N.Checked = checkinfo For Each node In N.Nodes NodeAllCheck(node, checkinfo) NextEnd Sub
0 0
- VB.net遍历搜索Treeview,找到符合字符串条件的节点
- 找到符合条件的整数
- 找到符合条件的整数
- [VB.NET]怎样用ListView显示符合条件的记录?
- 找到二叉树中符合搜索二叉树条件的最大拓扑结构
- 找到二叉树中符合搜索二叉树条件的最大拓扑结构
- VB.NET中动态加载Treeview节点
- VB.NET中TreeView查找下一个节点
- VB.NET中动态加载Treeview节点
- [VB.NET]VB中treeView问题,添加节点问题
- VB.NET实现 TreeView控件查找节点,显示节点
- vb.net中用Xpath遍历子节点的问题
- grep-查找符合条件的字符串
- jquery中的替换符合条件的字符串
- [VB.NET]左边为treeview,每当点一个节点,右边就显示新的窗口?
- VB.Net程序设计:获取TreeView CheckBox所有选中的节点值
- vb.net treeView的同一个节点第二次点击(连续),不执行事件
- 在序列中找到符合某个条件的子序列
- AutoCAD系统变量: OSMODE --设置“对象捕捉”的运行模式
- java感悟之继承和封装(不要做码农)
- Visual Studio安装SVN插件
- Linux内核:通过wait_event和wake_up内在机制分析等待队列
- Maven生成可以直接运行的jar包的多种方式
- VB.net遍历搜索Treeview,找到符合字符串条件的节点
- 数据库实用小工具之-DBUtils简单入门
- Android 异步消息处理机制 让你深入理解 Looper、Handler、Message三者关系
- smack for android 之登录openfire
- 算法的复杂度计算
- Object-C委托模式
- iOS对FMDB进行封装实现缓存数据
- 二叉树的顺序表示和实现
- python 杀进程 判断文件是否存在 查看进程