Csharp: Treeview check list value
1 /// <summary> 2 /// 選擇的節點 3 /// 塗聚文 20121116 4 /// 捷為工作室 5 /// 6 /// </summary> 7 /// <param name="sender"></param> 8 /// <param name="e"></param> 9 private void treeView1_AfterCheck(object sender, TreeViewEventArgs e) 10 { 11 #region 4 12 13 if (e.Action != TreeViewAction.Unknown) 14 { 15 16 //Event call by mouse or key-press 17 18 SetNodeCheckStatus(e.Node, e.Node.Checked); 19 20 } 21 #endregion 22 23 24 } 25 /// <summary> 26 /// 選擇的節點 27 /// </summary> 28 /// <param name="tn"></param> 29 /// <param name="Checked"></param> 30 private void SetNodeCheckStatus(TreeNode tn, bool Checked) 31 { 32 33 if (tn == null) return; 34 35 // Check children nodes 36 37 foreach (TreeNode tnChild in tn.Nodes) 38 { 39 40 tnChild.Checked = Checked; 41 42 SetNodeCheckStatus(tnChild, Checked); 43 44 } 45 46 // Set parent check status 47 48 TreeNode tnParent = tn; 49 50 int nNodeCount = 0; 51 52 while (tnParent.Parent != null) 53 { 54 55 tnParent = (TreeNode)(tnParent.Parent); 56 57 nNodeCount = 0; 58 59 foreach (TreeNode tnTemp in tnParent.Nodes) 60 61 if (tnTemp.Checked == Checked) 62 63 nNodeCount++; 64 65 if (nNodeCount == tnParent.Nodes.Count) 66 67 tnParent.Checked = Checked; 68 69 else 70 71 tnParent.Checked = false; 72 73 } 74 75 } 76 77 78 #region 選擇的節點 79 /// <summary> 80 /// http://www.codeproject.com/Questions/196856/C-NET-Treeview-Node-Checked 81 /// http://msdn.microsoft.com/en-us/library/system.windows.forms.treeview.aftercheck.aspx 82 /// </summary> 83 /// <param name="treeNode"></param> 84 /// <param name="nodeChecked"></param> 85 public void CheckAllChildNodes(TreeNode treeNode, bool nodeChecked) 86 { 87 foreach (TreeNode node in treeNode.Nodes) 88 { 89 node.Checked = nodeChecked; 90 if (node.Nodes.Count > 0) 91 { 92 this.CheckAllChildNodes(node, nodeChecked); 93 } 94 } 95 } 96 #endregion 97 /// <summary> 98 /// 顯示選擇的節點 99 /// </summary> 100 /// <param name="sender"></param> 101 /// <param name="e"></param> 102 private void button1_Click(object sender, EventArgs e) 103 { 104 105 DataTable dt = new DataTable(); 106 dt.Columns.Add("Uid", typeof(Guid)); 107 dt.Columns.Add("ID", typeof(int)); 108 dt.Columns.Add("Name", typeof(string)); 109 dt.Columns.Add("ParentID", typeof(int)); 110 111 List<TreeNode> selectedNodes = new List<TreeNode>(); 112 GetSelectedTreeNode(treeView1.Nodes, selectedNodes); 113 int i = 0; 114 foreach (TreeNode node in selectedNodes) 115 { 116 if (!string.IsNullOrEmpty(node.ToolTipText)) 117 { 118 dt.Rows.Add(new Guid(node.ToolTipText), node.Name, node.Text,node.Parent.Name); 119 } 120 i++; 121 } 122 123 124 dataGridView1.DataSource = dt; 125 126 127 128 129 130 } 131 /// <summary> 132 /// 選擇的節點的值 133 /// </summary> 134 /// <param name="nodes"></param> 135 /// <param name="selectedNodes"></param> 136 void GetSelectedTreeNode(TreeNodeCollection nodes, List<TreeNode> selectedNodes) 137 { 138 foreach (TreeNode node in nodes) 139 { 140 if (node.Checked) 141 { 142 selectedNodes.Add(node); 143 } 144 GetSelectedTreeNode(node.Nodes, selectedNodes); 145 } 146 }
转载于:https://www.cnblogs.com/geovindu/archive/2012/11/16/2773713.html
Csharp: Treeview check list value相关推荐
- Unity 引擎UGUI之自定义树形菜单(TreeView)
先上几张效果图: 如果你需要的也是这种效果,那你就来对地方了! 目前,我们这个树形菜单展现出来的功能如下: 1.可以动态配置数据源: 2.点击每个元素的上下文菜单按钮(也就是图中的三 ...
- winformC# TreeView 点击父节点,子节点全选,
private bool nextCheck(TreeNode n) //判断同级的节点是否全选{foreach (TreeNode tn in n.Parent.Nodes){if (tn.Chec ...
- WPF中TreeView.BringIntoView方法的替代方案
WPF中TreeView.BringIntoView方法的替代方案 周银辉 WPF中TreeView.BringIntoView()方法并不是那么地好用,不少时候会没有效果,这里有一个替代方案,调用S ...
- TreeView 小技巧
1.在把treeview的check事件给封了之后,在双击的情况下仍然会选中.这个要通过处理消息来解决. 解决: 在调用的时候将这个事件给过滤掉 if (e.Node.ForeColor == Col ...
- TreeView的checked事件
今天下午花了两个小时写的,感觉很不错! /// <summary> /// TreeView checked事件 /// </summ ...
- 在WPF TreeView中使用复选框
目录 介绍 背景 细节决定成败 功能要求 将Smarts放入ViewModel 树视图配置 将TreeViewItem变成ToggleButton Aero主题中的复选框错误 介绍 本文回顾了一个WP ...
- 【转】Asp.Net TreeView with CheckBox
1 选择了父节点,则它的所有子节点都选中 2 只要有一个子节点选中, 其父节点就选中 <script language="javascript" type="te ...
- TreeView相关
1.下载地址 http://msdn.microsoft.com/downloads/samples/internet/ASP_DOT_NET_ServerControls/WebControls/d ...
- [ATL/WTL]_[初级]_[自定义多列TreeView]
场景 在开发 Win32,WTL,MFC 程序时,经常会用到 ListView 这个表格控件,ListView 的数据是按照行来显示的,行与行之间没有并没有什么关系.但是如果行之间有父子关系,比如像树 ...
最新文章
- 安装jupyter后,使用时显示找不到命令(command not found)
- Python 第二章-列表和元组
- android 6.0 logcat机制(二)logcat从logd中获取log保存到文件中
- python图形设置_python学习笔记——基本图形绘制
- soc 设计soc设计 uml实务手册_采用 USB4 技术升级 SoC 设计
- eclipse发布rest_在Eclipse中高效运行HTTP / REST集成测试
- flexible.js淘宝移动端rem自适应用法
- Java实现分类文件拷贝2
- Web Audio介绍
- 计算机操作系统汤小丹版课后答案
- 深入解析互联网协议的原理
- intel ax200ngw刷killer 1650x教程
- Nebula Graph - 全文索引
- SAS用proc means和proc univariate求数据的样本均值、中位数、四分位数、样本方差、极差、变异系数、二阶、三阶和四阶中心矩、偏度、峰度、标准差和对数据进行正态性检验
- SLAM之回环检测与优化
- 群晖Docker部署Microsoft SQL Server 2019
- 内存地址中的16进制最小单位是1bit,1Byte?
- 前同事被裁员,股票清零!
- 转载 锁机制与原子操作 第四篇
- Android使用的MQTT客户端
热门文章
- SAP UI5:如何处理resource not found for the segment XXXXX error message
- SAP系统里的订单,可以随便删除么?
- 如何找到SAP CRM One Order节点ID对应的描述信息(名称)
- 推荐一个高质量的git命名查询和学习的github仓库git-recipes
- springmvc dao怎么可以不写实现类_SpringMVC(一)细聊ContextLoaderListener 是怎么被加载的...
- 给一个不多于5位的正整数 要求_java练习题 打卡第5天
- java圆柱的底面积体积,计算圆柱的底面积和体积
- mysql spj_解决Electron启动出现短暂的白屏 - SegmentFault 思否
- python 二次平滑_时序分析 指数平滑
- java序列化_技术干货 | JAVA反序列化漏洞