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 相关文章推荐
JS无法捕获滚动条上的mouse up事件的原因猜想
Mar 21 Javascript
JS判断元素为数字的奇异写法分享
Aug 01 Javascript
JS验证身份证有效性示例
Oct 11 Javascript
javascript实现2048游戏示例
May 04 Javascript
禁止iframe页面的所有js脚本如alert及弹出窗口等
Sep 03 Javascript
javascript实时显示北京时间的方法
Mar 12 Javascript
jQuery拖动元素并对元素进行重新排序
Dec 30 Javascript
js+css绘制颜色动态变化的圈中圈效果
Jan 27 Javascript
基于jquery实现无限级树形菜单
Mar 22 Javascript
JavaScript闭包实例详解
Jun 03 Javascript
jquery实现图片列表鼠标移入微动
Dec 01 Javascript
react-native 实现购物车滑动删除效果的示例代码
Jan 15 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中iconv函数使用方法
2008/05/24 PHP
探讨:如何使用PHP实现计算两个日期间隔的年、月、周、日数
2013/06/13 PHP
php中常量DIRECTORY_SEPARATOR用法深入分析
2014/11/14 PHP
javascript Select标记中options操作方法集合
2008/10/22 Javascript
jquery 事件对象属性小结
2010/04/27 Javascript
jquery 操作表格实现代码(多种操作打包)
2011/03/20 Javascript
javascript中onmouse事件在div中失效问题的解决方法
2012/01/09 Javascript
JavaScript数组方法大全(推荐)
2016/07/05 Javascript
瀑布流的实现方式(原生js+jquery+css3)
2020/06/28 Javascript
基于JavaScript实现在新的tab页打开url
2016/08/04 Javascript
js Canvas实现圆形时钟教程
2016/09/19 Javascript
Angular 2应用的8个主要构造块有哪些
2016/10/17 Javascript
AngularJS中$apply方法和$watch方法用法总结
2016/12/13 Javascript
Javascript面试经典套路reduce函数查重
2017/03/23 Javascript
jQuery length 和 size()区别总结
2018/04/26 jQuery
微信小程序使用gitee进行版本管理
2018/09/20 Javascript
vue单页面在微信下只能分享落地页的解决方案
2019/04/15 Javascript
在Vue 中实现循环渲染多个相同echarts图表
2020/07/20 Javascript
python基于urllib实现按照百度音乐分类下载mp3的方法
2015/05/25 Python
Python爬虫框架Scrapy实例代码
2018/03/04 Python
对Python中gensim库word2vec的使用详解
2018/05/08 Python
Python3 读、写Excel文件的操作方法
2018/10/20 Python
Python paramiko模块使用解析(实现ssh)
2019/08/30 Python
python使用openCV遍历文件夹里所有视频文件并保存成图片
2020/01/14 Python
Python中Pyspider爬虫框架的基本使用详解
2021/01/27 Python
实例教程 一款纯css3实现的数字统计游戏
2014/11/10 HTML / CSS
Farfetch美国:奢侈品牌时尚购物平台
2019/05/02 全球购物
印度排名第一的蛋糕、鲜花和礼品送货:Winni
2019/08/02 全球购物
北京一家公司的.net开发工程师笔试题
2012/04/17 面试题
求职者应聘的自我评价
2013/10/16 职场文书
学生自我鉴定模板
2013/12/30 职场文书
护理职业生涯规划书
2014/01/24 职场文书
入党推优材料
2014/06/02 职场文书
2014年团支部工作总结
2014/11/17 职场文书
体育教师个人工作总结
2015/02/09 职场文书
利用python做表格数据处理
2021/04/13 Python