TreeView 用法(有代码)(asp.net)


Posted in Javascript onJuly 15, 2011

前台代码

<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" onclick="CheckEvent()"> 
</asp:TreeView> 
</form> 
</body>

后台代码:
private void BindGrid() 
{ 
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()); 
} 
}
Javascript 相关文章推荐
JQuery index()方法使用代码
Jun 02 Javascript
基于dom编程中 动态创建与删除元素的使用
Apr 17 Javascript
关于extjs4如何获取grid修改后的数据的问题
Aug 07 Javascript
javascript中兼容主流浏览器的动态生成iframe方法
May 05 Javascript
Javascript与jQuery方法的隐藏与显示
Jan 19 Javascript
jQuery给div,Span, a ,button, radio 赋值与取值
Jun 24 Javascript
使用plupload自定义参数实现多文件上传
Jul 19 Javascript
URL中“#” “?” &amp;“”号的作用浅析
Feb 04 Javascript
微信小程序实现登录页云层漂浮的动画效果
May 05 Javascript
使用layui实现树形结构的方法
Sep 20 Javascript
JavaScript事件委托实现原理及优点进行
Aug 29 Javascript
JavaScript选择器函数querySelector和querySelectorAll
Nov 27 Javascript
基于jquery实现的鼠标滑过按钮改变背景图片
Jul 15 #Javascript
jquery 结合C#后台的数组对文章的关键字自动添加链接的代码
Jul 15 #Javascript
js实现addClass,removeClass,hasClass的函数代码
Jul 13 #Javascript
js下将字符串当函数执行的方法
Jul 13 #Javascript
JS高级笔记
Jul 13 #Javascript
JS继承 笔记
Jul 13 #Javascript
$.format,jquery.format 使用说明
Jul 13 #Javascript
You might like
php分页示例代码
2007/03/19 PHP
php preg_replace替换实例讲解
2013/11/04 PHP
php判断类是否存在函数class_exists用法分析
2014/11/14 PHP
分享一则PHP定义函数代码
2015/02/26 PHP
PHP通过引用传递参数用法分析
2016/12/01 PHP
利用PHP生成CSV文件简单示例
2016/12/21 PHP
TNC vs RR BO3 第一场 2.14
2021/03/10 DOTA
JS支持带x身份证号码验证函数
2008/08/10 Javascript
JS array 数组详解
2009/03/22 Javascript
使用IE6看老赵的博客 jQuery初探
2010/01/17 Javascript
使用JavaScript构建JSON格式字符串实现步骤
2013/03/22 Javascript
一个简单的jquery的多选下拉框(自写)
2014/05/05 Javascript
prototype.js常用函数详解
2016/06/18 Javascript
ionic组件ion-tabs选项卡切换效果实例
2016/08/27 Javascript
一步一步封装自己的HtmlHelper组件BootstrapHelper(二)
2016/09/14 Javascript
webpack中使用iconfont字体图标的方法
2018/02/22 Javascript
详解使用jest对vue项目进行单元测试
2018/09/07 Javascript
jQuery Ajax async=&gt;false异步改为同步时,解决导致浏览器假死的问题
2019/07/22 jQuery
Vue.js如何使用Socket.IO的示例代码
2019/09/05 Javascript
Python中pandas dataframe删除一行或一列:drop函数详解
2018/07/03 Python
Python实现的统计文章单词次数功能示例
2019/07/08 Python
Python : turtle色彩控制实例详解
2020/01/19 Python
python_mask_array的用法
2020/02/18 Python
python实现3D地图可视化
2020/03/25 Python
Python3交互式shell ipython3安装及使用详解
2020/07/11 Python
阿联酋航空官方网站:Emirates
2017/10/17 全球购物
美国领先的医疗警报服务:Philips Lifeline
2018/03/12 全球购物
.NET里面什么时候需要调用垃圾回收
2015/06/01 面试题
求职简历的自我评价怎样写好
2013/10/07 职场文书
法学专业应届生求职信
2013/10/16 职场文书
夜大自我鉴定
2013/10/31 职场文书
2014迎新年晚会策划方案
2014/02/23 职场文书
班主任评语大全
2014/04/26 职场文书
2015庆祝七一建党节94周年活动总结
2015/03/20 职场文书
企业党支部工作总结2015
2015/05/21 职场文书
2016年12月份红领巾广播稿
2015/12/21 职场文书