asp.net 2.0 中 TreeView控件中的checkbox客户端操作
2007-11-14 13:37
597 查看
最近有一个项目要做到用树形结构来控制权限, 要做到以下三条
当选择根节点时所有的子节点都要被选择
当选择子节点时相应的根节点也要被选择
当所有子节点取消选择时根节点也要取消选择。
树形控件用的是asp.net 2.0自带的treeview控件,如何控制它的checkbox一点头绪也没有,google上找了找,发现这个问题还是比较普遍的,终于找了一篇文章http://itrust.cnblogs.com/archive/2006/04/03/365439.html,照上面做了一下,但是出错。仔细看了一下,发现回复中有一段代码可以使用,但是只能实现第一条,另外两条做不到。
看了免费的午餐还是不好吃的,还是要自己动手,分析了一下这段代码,又结合上面的文章看了一下,把代码修改了一下,终于可以全部做到了。
代码如下:
function OnTreeNodeChecked()
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
<script language=javascript type="text/javascript" src=TreeView.js></script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TreeView ID="TreeView1" runat="server" ShowCheckBoxes="All" onclick="OnTreeNodeChecked()">
<Nodes>
<asp:TreeNode SelectAction="Expand" Text="aaa" Value="aaa">
<asp:TreeNode SelectAction="None" Text="a1" Value="a1"></asp:TreeNode>
<asp:TreeNode SelectAction="None" Text="a2" Value="a2"></asp:TreeNode>
</asp:TreeNode>
<asp:TreeNode SelectAction="Expand" Text="bbb" Value="bbb">
<asp:TreeNode SelectAction="None" Text="b1" Value="b1"></asp:TreeNode>
<asp:TreeNode SelectAction="None" Text="b2" Value="b2"></asp:TreeNode>
</asp:TreeNode>
</Nodes>
</asp:TreeView>
</div>
</form>
</body>
</html>
另外js里的GetParentByTagName(element, tagName)函数是treeview中自带的,原先的函数 WebForm_GetParentByTagName(element, tagName) ,写在这里是为了让自己用的时候不糊涂,大家在使用的时候可以把js里“var div = GetParentByTagName(ele,'DIV');”这一行换成“var div = WebForm_GetParentByTagName(ele,'DIV');”然后去掉GetParentByTagName(element, tagName)函数,效果是一样的。
。
当选择根节点时所有的子节点都要被选择
当选择子节点时相应的根节点也要被选择
当所有子节点取消选择时根节点也要取消选择。
树形控件用的是asp.net 2.0自带的treeview控件,如何控制它的checkbox一点头绪也没有,google上找了找,发现这个问题还是比较普遍的,终于找了一篇文章http://itrust.cnblogs.com/archive/2006/04/03/365439.html,照上面做了一下,但是出错。仔细看了一下,发现回复中有一段代码可以使用,但是只能实现第一条,另外两条做不到。
看了免费的午餐还是不好吃的,还是要自己动手,分析了一下这段代码,又结合上面的文章看了一下,把代码修改了一下,终于可以全部做到了。
代码如下:
function OnTreeNodeChecked()
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
<script language=javascript type="text/javascript" src=TreeView.js></script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TreeView ID="TreeView1" runat="server" ShowCheckBoxes="All" onclick="OnTreeNodeChecked()">
<Nodes>
<asp:TreeNode SelectAction="Expand" Text="aaa" Value="aaa">
<asp:TreeNode SelectAction="None" Text="a1" Value="a1"></asp:TreeNode>
<asp:TreeNode SelectAction="None" Text="a2" Value="a2"></asp:TreeNode>
</asp:TreeNode>
<asp:TreeNode SelectAction="Expand" Text="bbb" Value="bbb">
<asp:TreeNode SelectAction="None" Text="b1" Value="b1"></asp:TreeNode>
<asp:TreeNode SelectAction="None" Text="b2" Value="b2"></asp:TreeNode>
</asp:TreeNode>
</Nodes>
</asp:TreeView>
</div>
</form>
</body>
</html>
另外js里的GetParentByTagName(element, tagName)函数是treeview中自带的,原先的函数 WebForm_GetParentByTagName(element, tagName) ,写在这里是为了让自己用的时候不糊涂,大家在使用的时候可以把js里“var div = GetParentByTagName(ele,'DIV');”这一行换成“var div = WebForm_GetParentByTagName(ele,'DIV');”然后去掉GetParentByTagName(element, tagName)函数,效果是一样的。
。
相关文章推荐
- asp.net 2.0 中 TreeView控件中的checkbox客户端操作
- asp.net 2.0 中 TreeView控件中的checkbox客户端操作
- asp.net TreeView安装、使用(如何将TreeView打包发布)(带CheckBox选择框的TreeView的初始化,TreeView客户端操作:选择父节点后自动选择所有子节点,子节点选择后自动选择父节点)(TreeView节点精确定位)2005-12-23更新
- 最简单的Asp.Net 2.0 TreeView的Checkbox级联操作
- Asp.Net 2.0 TreeView的Checkbox级联操作
- Asp.Net 2.0 TreeView的Checkbox级联操作
- asp.net TreeView安装、使用(如何将TreeView打包发布)(带CheckBox选择框的TreeView的初始化,TreeView客户端操作:选择父节点后自动选择所有子节点,子节点选择后自动选择父节点)(TreeView节点精确定位)
- 在ASP.NET 2.0中操作数据::为删除数据添加客户端确认
- asp.net TreeView安装、使用(如何将TreeView打包发布)(带CheckBox选择框的TreeView的初始化,TreeView客户端操作:选择父节点后自动选择所有子节点,子节点选择后自动选择父节点)(TreeView节点精确定位)
- 在ASP.NET 2.0中操作数据之五十:为GridView控件添加Checkbox
- 在ASP.NET 2.0中操作数据之五十:为GridView控件添加Checkbox
- 在ASP.NET 2.0中操作数据之二十二:为删除数据添加客户端确认
- Asp.Net 2.0 TreeView的Checkbox级联操作(转贴)
- asp.net TreeView安装、使用(如何将TreeView打包发布)(带CheckBox选择框的TreeView的初始化,TreeView客户端操作:选择父节点后自动选择所有子节点,子节点选择后自动选择父节点)(TreeView节点精确定位)
- asp.net TreeView安装、使用(如何将TreeView打包发布)(带CheckBox选择框的TreeView的初始化,TreeView客户端操作:选择父节点后自动选择所有子节点,子节点选择后自动选择父节点)(TreeView节点精确定位)
- 在ASP.NET 2.0中操作数据之二十二:为删除数据添加客户端确认
- 最简单的Asp.Net 2.0 TreeView的Checkbox级联操作
- ASP.Net: 为 CheckBoxList 和 RadioButtonList 中的各 ListItem 项目编写客户端脚本
- 在ASP.NET 2.0中操作数据之六十:创建一个自定义的Database-Driven Site Map Provider
- 在ASP.NET 2.0中操作数据之六十一:在事务里对数据库修改进行封装