在我点击父级复选框时,我想同事也将子级所有选项都变为已选择,该如何做到?
解决方案 »
- 【继续提问】接着上一个问题
- webcontrol的ID和name能不同吗
- WEB页面的目录树结构是怎么实现的 ?
- 如何在后台搜索一个动态页面上得内容?
- 怎么用ASP.net连接QQ的交友
- 2003的服务器只要用了.net的客户端验证控件就无法提交
- 为什么Identity.Name显示不出来
- Dropdownlist连接数据库DataTextField同时绑定4个字段内容如何实现?
- 没分了,想请教新闻系统中调用的问题
- 个伟大虾帮忙:关于页面对应的aspx.cs的继承的问题!
- 关于在客户端显示图片的问题-对高手来说绝对简单!
- 请教一个使用SQL SERVER数据库来实现RadioButtonList和DropDownList两个控件相互传递!
http://blog.csdn.net/cuike519/archive/2005/02/02/278271.aspx
这个TREEVIEW就可以在单击复选框时触发 TreeView1_TreeNodeCheckChanged 事件了。
但是唯一缺点在于每次单击后都要dopostback一下。protected void Page_Load(object sender, EventArgs e)
{
PostBackOptions myPostBackOptions = new PostBackOptions(this);
myPostBackOptions.ActionUrl = "Default.aspx";
myPostBackOptions.AutoPostBack = false;
myPostBackOptions.RequiresJavaScriptProtocol = true;
myPostBackOptions.PerformValidation = true;
TreeView1.Attributes.Add("onclick",Page.ClientScript.GetPostBackEventReference(myPostBackOptions));
}希望有更好的办法`
using System.Data;
using System.Configuration;
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)
{
PostBackOptions myPostBackOptions = new PostBackOptions(this);
myPostBackOptions.ActionUrl = "Default.aspx";
myPostBackOptions.AutoPostBack = false;
myPostBackOptions.RequiresJavaScriptProtocol = true;
myPostBackOptions.PerformValidation = true;
TreeView1.Attributes.Add("onclick",Page.ClientScript.GetPostBackEventReference(myPostBackOptions));
} protected void TreeView1_TreeNodeCheckChanged(object sender, TreeNodeEventArgs e)
{
if (e.Node.Checked == false)
unCheckParents(e.Node);
CheckChilds(e.Node);
} protected void CheckChilds(TreeNode treeNode)
{
foreach (TreeNode tn in treeNode.ChildNodes)
{
tn.Checked = treeNode.Checked;
CheckChilds(tn);
}
} protected void unCheckParents(TreeNode treeNode)
{
if (treeNode.Parent == null) return;
treeNode.Parent.Checked = false;
unCheckParents(treeNode.Parent);
}
}
--------------------------------------------------<%@ Page Language="C#" AutoEventWireup="true" 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>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TreeView ID="TreeView1" runat="server" OnTreeNodeCheckChanged="TreeView1_TreeNodeCheckChanged"
ShowCheckBoxes="All" ShowLines="True" OnSelectedNodeChanged="TreeView1_SelectedNodeChanged">
<Nodes>
<asp:TreeNode Text="新建节点" Value="新建节点">
<asp:TreeNode Text="新建节点" Value="新建节点"></asp:TreeNode>
<asp:TreeNode Text="新建节点" Value="新建节点">
<asp:TreeNode Text="新建节点" Value="新建节点"></asp:TreeNode>
<asp:TreeNode Text="新建节点" Value="新建节点"></asp:TreeNode>
</asp:TreeNode>
</asp:TreeNode>
<asp:TreeNode Text="新建节点" Value="新建节点">
<asp:TreeNode Text="新建节点" Value="新建节点"></asp:TreeNode>
</asp:TreeNode>
<asp:TreeNode Text="新建节点" Value="新建节点">
<asp:TreeNode Text="新建节点" Value="新建节点"></asp:TreeNode>
</asp:TreeNode>
<asp:TreeNode Text="新建节点" Value="新建节点"></asp:TreeNode>
<asp:TreeNode Text="新建节点" Value="新建节点"></asp:TreeNode>
</Nodes>
</asp:TreeView>
</div>
</form>
</body>
</html>