TreeView 用法(有代码)
<script type="text/javascript">//客户端捕捉事件function CheckEvent() {var objNode = event.srcElement;if (objNode.tagName == "INPUT" && objNode.type == "checkbox") {var objParentDiv = objNode.id.replace("CheckBox", "Nodes");if (objNode.checked == true) {setChildCheckState(objParentDiv, true);setParentCheckeState(objNode, true);}else {setChildCheckState(objParentDiv, false);if (!HasOtherChecked(objNode)) {setParentCheckeState(objNode, false);}}}}//判断是否有并行的其他节点被选中function HasOtherChecked(objNode) {var objParentDiv = WebForm_GetParentByTagName(objNode, "div");var chks = objParentDiv.getElementsByTagName("INPUT");for (var i = 0; i < chks.length; i++) {if (chks[i].checked && chks[i].id != objNode.id) {return true;}}return false;}//设置父节点function setParentCheckeState(objNode, chkstate) {try {var objParentDiv = WebForm_GetParentByTagName(objNode, "div");if (objParentDiv == null || objParentDiv == "undefined ") {return;}else {var objParentChkId = objParentDiv.id.replace("Nodes", "CheckBox");var objParentCheckBox = document.getElementById(objParentChkId);if (objParentCheckBox) {objParentCheckBox.checked = chkstate;setParentCheckeState(objParentDiv, chkstate);}}}catch (e) { }}//设置子节点function setChildCheckState(nodeid, chkstate) {var node = document.getElementById(nodeid);if (node) {var chks = node.getElementsByTagName("INPUT");for (var i = 0; i < chks.length; i++) {chks[i].checked = chkstate;}}} </script><body><form id="form1" runat="server"><asp:TreeView ID="TreeView1" runat="server" ShowCheckBoxes="All" οnclick="CheckEvent()"></asp:TreeView></form>
</body>
后台代码:
{
DataTable mytable = menuTableBll.GetAllList().Tables[0]; //获取数据
CreateTree(mytable, TreeView1.Nodes, "0");
}
private void CreateTree(DataTable dtNodeSets, TreeNodeCollection node, string parent_id)
{
DataView dvList = new DataView(dtNodeSets);
dvList.RowFilter = "MeunParentId =" + parent_id;
TreeNode nodeTemp;
foreach (DataRowView dv in dvList)
{
nodeTemp = new TreeNode();
nodeTemp.Text = dv["MenuName"].ToString();
nodeTemp.Expanded = true;
nodeTemp.ToolTip = dv["MeunId"].ToString();
node.Add(nodeTemp);
CreateTree(dtNodeSets, nodeTemp.ChildNodes, dv["MeunId"].ToString());
}
}
转载于:https://www.cnblogs.com/zgaspnet/archive/2011/07/05/2097945.html
TreeView 用法(有代码)相关推荐
- Python - while语句和if语句 的 用法 及 代码
while语句和if语句 的 用法 及 代码 本文地址 : http://blog.csdn.net/caroline_wendy/article/details/17199771 Python中wh ...
- input type=range标签用法实例代码
在HTML5中,又新增许多新<input>控件类型,比较实用的一个就是<input type="range">,以滑竿的方式来调整value值,在这以前需要 ...
- C# WinForm TreeView用法总结
TreeView用法值得总结一下,今天用到了,一时忘了怎样执行选中节点事件. private void BindTreeView() { treeView1.LabelEdit = false ...
- C++中 Map的了解与基本用法(代码演示+自我总结+map中一对多的用法)
C++中 map的了解与基本用法(代码演示) 一:map的基本认识 Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值) ...
- 测试Rockey4Smart加密锁之模块字和三算法的用法C#代码
测试Rockey4Smart加密锁之模块字和三算法的用法C#代码 private void btn_LookZzghjk_Click(object sender, EventArgs e) { if ...
- html渐变线条代码,CSS3实现线性渐变用法示例代码详解
前言 演示下太老版本浏览器的渐变实现了[IE9-]; IE9以前,渐变都是通过滤镜实现的,大体的写法就是这样; .testDiv { width:400px; height:400px; border ...
- python numpy allclose用法及代码示例
python numpy allclose用法及代码示例 用法: numpy.allclose(a, b, rtol=1e-05, atol=1e-08, equal_nan=False) 如果两个数 ...
- PostgreSQL REGEXP_REPLACE用法及代码示例
PostgreSQL REGEXP_REPLACE用法及代码示例: 原文链接:https://vimsky.com/examples/usage/postgresql-regexp_replace-f ...
- choose when 改在java中_Mybatis choose when用法实例代码
mybatis choose when的用法实现代码如下所示: mapper.xml: select a.city_id as CITYID, a.level1_maintain_unit_id as ...
- merge函数_C++ - 标准库 merge 函数 的 用法及代码
标准库 "merge" 函数 的 用法及代码 merge() 是 C++ 标准库的函数, 主要实现函数的排序和合并, 不仅仅是合并, 具体要求参照标准库. 如果是通用方法, 则第二 ...
最新文章
- 2021年大数据常用语言Scala(三十七):scala高级用法 高阶函数用法
- 中科院亚热带生态所赵杰:喀斯特生态系统土壤微食物网组成与功能
- 更改UISwitch大小
- virtualbox 中centOS在不能ssh
- HTTP协议 -- TCP/IP通信传输流
- 主存块和cache块关系_Cache(直接相联)
- 【C++深度剖析教程30】C++中抽象类和接口
- echarts自学笔记
- 《三体》动画版官宣!B站出品 刘慈欣“倒吸一口凉气”
- 使用case语句的3个诀窍
- retrofit2 发送json数据_使用浏览器发送post请求
- php获取客户端IP地址的几种方法
- 日期时间类-Date,Calendar和日期格式化
- 宝塔php7.1安装ioncube,如何使用宝塔安装ionCube扩展
- 大数据面试3分钟自我介绍_面试的时候,如何自我介绍?
- 中国纯碱市场产销现状与投资效益预测报告(2022-2027年)
- golang中的URL 的编码和解码(转)
- 手把手:用OpenCV亲手给小扎、Musk等科技大佬们做一张“平均脸”(附Python代码)
- 数据库设计 - 01外卖配送系统
- python怎么批量爬取图片_python批量爬取网络图片