TreeView的子节点和父节点级联选中
来源:互联网 发布:淘宝标签怎么设置 编辑:程序博客网 时间:2024/04/30 17:18
来自:http://blog.sina.com.cn/s/blog_4979b49e0100aq29.html
Default.aspx:
<%@ Page Language="C#" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!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 type="text/javascript">
function postBackByObject()
{
var obj = window.event.srcElement;
if(obj.tagName == "INPUT" && obj.type == "checkbox")
{
__doPostBack("","");
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TreeView ID="TreeView1" runat="server" OnTreeNodeCheckChanged="TreeView1_TreeNodeCheckChanged"
ShowCheckBoxes="All" ShowLines="True">
<Nodes>
<asp:TreeNode Text="根节点" Value="1">
<asp:TreeNode Text="一级节点1" Value="11">
<asp:TreeNode Text="二级节点1" Value="111">
<asp:TreeNode Text="三级节点1" Value="1111"></asp:TreeNode>
</asp:TreeNode>
<asp:TreeNode Text="二级节点2" Value="112"></asp:TreeNode>
</asp:TreeNode>
<asp:TreeNode Text="一级节点2" Value="12">
<asp:TreeNode Text="121" Value="121"></asp:TreeNode>
</asp:TreeNode>
<asp:TreeNode Text="一级节点3" Value="13"></asp:TreeNode>
</asp:TreeNode>
</Nodes>
</asp:TreeView>
</div>
</form>
</body>
</html>
Default.aspx.cs:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.TreeView1.Attributes.Add("onclick", "postBackByObject()");
}
}
protected void TreeView1_TreeNodeCheckChanged(object sender, TreeNodeEventArgs e)
{
if (e.Node.Checked)
{
SetChildChecked(e.Node);
SetParentChecked(e.Node);
// 此处添加选中后会影响的其他事件
}
else
{
CancelChildChecked(e.Node);
// 此处添加取消后会影响的其他事件
}
}
/// <summary>
/// 选中父节点,其所有子节点也选中
/// </summary>
/// <param name="parentNode"></param>
private void SetChildChecked(TreeNode parentNode)
{
foreach (TreeNode tn in parentNode.ChildNodes)
{
tn.Checked = true;
if (tn.ChildNodes.Count > 0)
{
SetChildChecked(tn);
}
}
}
/// <summary>
/// 选中子节点,其父节点也选中
/// </summary>
/// <param name="childNode"></param>
private void SetParentChecked(TreeNode childNode)
{
if (childNode.Parent != null)
{
childNode.Parent.Checked = true;
SetParentChecked(childNode.Parent);
}
}
/// <summary>
/// 取消父节点,其所有子节点也取消
/// </summary>
/// <param name="parentNode"></param>
private void CancelChildChecked(TreeNode parentNode)
{
foreach (TreeNode tn in parentNode.ChildNodes)
{
tn.Checked = false;
if (tn.ChildNodes.Count > 0)
{
CancelChildChecked(tn);
}
}
}
}
- TreeView的子节点和父节点级联选中
- TreeView的子节点和父节点级联选中
- TreeView的子节点和父节点级联选中
- TreeView的子节点和父节点级联选中,遍历TreeView并查找和选定节点
- C# TreeView级联父子节点(选中子节点父节点也选中,反之选中父节点子节点也选中)
- TreeView中如何选中一个父节点同时选中所有的子节点和孙节点。。。
- Ext树级联选中父节点和子节点
- Ext树级联选中父节点和子节点
- 递归获取treeview选中父节点的所有子节点
- TreeView中使用checkBox时子节点和父节点的级联选择
- TreeView的一些操作(选中子节点和父节点)
- c#,winform,treeview,选中节点,选中相应的全部子节点,取消节点,取消父节点,小技巧
- c#,winform,treeview,选中节点,选中相应的全部子节点,取消节点,取消父节点,小技巧
- javascrip实现:若选中TreeView的父节点checkbox,则其子节点全部选中
- C#中TreeView选中父节点同时选中所有的子节点
- C#中TreeView选中父节点同时选中所有的子节点
- TreeView控件实现选中父节点时全选子节点
- TreeView选择父节点自动选中子节点
- 数据字典
- Web 设计师的 50 个超便利工具
- 轻松使用 ffmpeg sdk 实现各种格式的rgb以及yuv raw
- 在Silverlight中运行基于XNA开发的游戏
- memcpy和memmove
- TreeView的子节点和父节点级联选中
- PHP 单元测试(PHPUnit)(1)
- C++读取mat数据(1)【转载】
- 由C++入门Objective-C——Objective C 的语言特性
- PHP 单元测试(PHPUnit)(2)
- Java正则表达式
- 什么是DEH?为什么要采用DEH控制?
- C++读取mat数据(2)【转帖】
- sql T_sql 利用Case When Then多条件判断SQL 语句