TreeView复选框选择逻辑判断
在mobile里使用TreeView控件时,控件本身没有提供节点复选框选择判断逻辑。
如选中父节点,所有子节点全部选中;
取消父节点,同时也取消所有子节点;
或者选中所有子节点,父节点自动选中等等。
以下代码能够实现:
view plaincopy to clipboardprint?
- /// <summary>
- /// 复选框点击事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void tvPeople_AfterCheck(object sender, TreeViewEventArgs e)
- {
- if (e.Action != TreeViewAction.Unknown)
- {
- if (e.Node.Nodes.Count > 0)
- {
- this.CheckAllChildNodes(e.Node, e.Node.Checked);
- }
- CheckParentNodes(e.Node);
- }
- }
- /// <summary>
- /// 递归设置子节点
- /// </summary>
- /// <param name="treeNode">节点对象</param>
- /// <param name="nodeChecked">是否选择</param>
- private void CheckAllChildNodes(TreeNode treeNode, bool nodeChecked)
- {
- foreach (TreeNode node in treeNode.Nodes)
- {
- node.Checked = nodeChecked;
- if (node.Nodes.Count > 0)
- {
- this.CheckAllChildNodes(node, nodeChecked);
- }
- }
- }
- /// <summary>
- /// 递归设置父节点
- /// </summary>
- /// <param name="treeNode"></param>
- private void CheckParentNodes(TreeNode treeNode)
- {
- if (null != treeNode.Parent)
- {
- int count = treeNode.Parent.Nodes.Count;
- if (treeNode.Checked == true)
- {
- for (int i = 0; i < count; i++)
- {
- if (treeNode.Parent.Nodes[i].Checked == false)
- break;
- if (i == count - 1)
- treeNode.Parent.Checked = true;
- }
- }
- else
- {
- for (int i = 0; i < count; i++)
- {
- if (treeNode.Parent.Nodes[i].Checked == true)
- break;
- if (i == count - 1)
- treeNode.Parent.Checked = false;
- }
- }
- CheckParentNodes(treeNode.Parent);
- }
- }
转载于:https://www.cnblogs.com/flyptt/archive/2012/01/09/2317542.html
TreeView复选框选择逻辑判断相关推荐
- php表单复选传值,jQuery+SpringMVC中的复选框选择与传值实例_jquery
下面我就为大家分享一篇jQuery+SpringMVC中的复选框选择与传值实例,具有很好的参考价值,希望对大家有所帮助. 一.checkbox选择 在jQuery中,选中checkbox通用的两种方式 ...
- 请使用复选框选择_使用可选是可选的
请使用复选框选择 在上周"收藏中的可选内容"的文章发表之后,我不禁要多讲一些关于同一只野兽的事情. 更多细节. 最初由Google Guava引入并后来包含在Java 8软件包中的 ...
- 个人总结1[检查复选框选择个数:]
检查复选框选择个数: function checkednum(id) { var s; s=0; for(i=0;i<document.selectform.keyVal.length;i ...
- 复选框 遍历选中 php,jQuery的复选框选择并且获取值
这次给大家带来jQuery的复选框选择并且获取值,jQuery复选框选择并且获取值的注意事项有哪些,下面就是实战案例,一起来看一下. 一.checkbox选择 在jQuery中,选中checkbox通 ...
- 复选框选择变化(可以演化成简单的字符串拼接)
//显示选中的文字 private void showText(string title) {//定义空字符串 string str = string.Empty;//以下确认该字符串的值 if (c ...
- 在WPF TreeView中使用复选框
目录 介绍 背景 细节决定成败 功能要求 将Smarts放入ViewModel 树视图配置 将TreeViewItem变成ToggleButton Aero主题中的复选框错误 介绍 本文回顾了一个WP ...
- php一些单选、复选框的默认选择方法
[1]radio和checkbox及php select默认选择的实现代码 来源: 互联网 发布时间: 2013-12-24 1.radio单选框的默认选择实现 代码示例: <inpu ...
- jQuery分别获取选中的复选框值
jQuery分别获取选中的复选框值 原文:jQuery分别获取选中的复选框值 function jqchk(){ //jquery获取复选框值 var s=''; $('input[na ...
- JS jQuery分别获取选中的复选框值
转载地址 http://hi.baidu.com/lipan4/blog/item/8531c62330ee73b04623e886.html <!DOCTYPE html PUBLIC &qu ...
最新文章
- Codeforces Round #700 (Div. 2) D2 Painting the Array II(最通俗易懂的贪心策略讲解)看不懂来打我 ~
- response.sendRedirect()重新定向的乱码问题
- 屏蔽朋友圈的第一天的感悟
- ITK:使用Otsu方法将前景和背景分开
- Cheerleaders【容斥】
- S3C DMA使用方法,2410-2440 dma介绍
- [你必须知道的.NET] 调试技巧 - DebuggerDisplayAttribute
- 如何在福昕阅读器上将 pdf 文档背景色改为绿豆沙
- Oracle / PLSQL函数 - LENGTH和LENGTHB
- 【数据分析入门】R语言绘图语句总结
- 数据库上机实验八(视图)
- opencv-python cv2.VideoWriter() 导出视频无法播放的四个原因
- 写一个商品类Goods,属性有商品编号,商品名称,商品价格和上架时间。
- 【UI自动化设计模式】超越 Page Objects:使用Serenity和ScreenplayPattern实现新一代的自动化测试
- 调节latex表格中的字体大小
- 机器学习基础——分类算法之决策树、随机森林、Titanic乘客生存分类
- 1.1[潜心创作]冒险游戏(MineCraft)不喜勿喷
- 多层select,一定要仔细从里到外一层一层的剥开
- 从SRCNN到EDSR,总结深度学习端到端超分辨率方法发展历程 2018.11 写的还可以
- android定时调用gc,Android性能:远程触发GC