请教下TreeView控件的问题 每个节点都有一个复选框, 我现在要做的效果是 当点击子级的时候,该子级的父级 自动被选上.当点击父级的时候,该父级的所有子级被选上.请高手指点.在线急等 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在TreeView的TreeNodeCheckChanged事件添加代码类似: 主要用下面的代码, TreeView1.Nodes[0].ChildNodes[0].Parent.Checked用循环使子级被选上 ChildNodes[i].Checked http://www.cnblogs.com/webabcd/archive/2007/08/20/862173.html private void CreateTree(TreeNodeCollection Nds, string ParentId) { ArrayList arr = new ArrayList(); DataRow[] rows = GetData().Tables["sections"].Select("section_parent='" + ParentId + "'"); foreach (DataRow dr in rows) { TreeNode treenode = new TreeNode(); treenode.SelectAction = TreeNodeSelectAction.None; treenode.Value = dr["section_id"].ToString().Trim(); treenode.Text = dr["section_name"].ToString().Trim(); treenode.Checked = false; treenode.Expanded = true; treenode.SelectAction = TreeNodeSelectAction.None; //int n = Array.BinarySearch(powers, dr["section_id"].ToString()); if (arr.Contains(dr["section_id"].ToString().Trim())) { treenode.Checked = true; } treenode.ShowCheckBox = true; Nds.Add(treenode); int id = int.Parse(dr["section_id"].ToString().Trim()); CreateTree(treenode.ChildNodes, treenode.Value); } } 要实现无刷新的效果就是把树控件放在UpdatePanel控件里面就ok啦 具体的是:<asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> ......树控件 </ContentTemplate></asp:UpdatePanel>配置文件里面: <httpHandlers> <remove verb="*" path="*.asmx"/> <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/> </httpHandlers> 如果要无刷新,那可以 JS + WEBSERVICE (用HTC文件~) 求服务器架构及选购方案! IHttpModule 凡.NET各方向有问题的就来问我,有问必答的! WEB引用所需要的某些文件没有安装 <%# 请问如何最方便知道"select * from new"查询出多少条记录 急------急-------急------急- 急呀!DataGrid中模板列中插入用户控件的绑定问题,帮忙解决一下...... asp.net 怎么设页面访问控制 高分征集好的关于.net知识的blog站点. 在客户端代码中如何引用服器端的值 做一个用手机访问的网站,是否要去电讯申请这项功能呢? 获取Session 登录问题:如何记住登录状态
类似: 主要用下面的代码,
TreeView1.Nodes[0].ChildNodes[0].Parent.Checked
用循环使子级被选上
ChildNodes[i].Checked
{
ArrayList arr = new ArrayList();
DataRow[] rows = GetData().Tables["sections"].Select("section_parent='" + ParentId + "'"); foreach (DataRow dr in rows)
{
TreeNode treenode = new TreeNode();
treenode.SelectAction = TreeNodeSelectAction.None;
treenode.Value = dr["section_id"].ToString().Trim();
treenode.Text = dr["section_name"].ToString().Trim();
treenode.Checked = false;
treenode.Expanded = true;
treenode.SelectAction = TreeNodeSelectAction.None;
//int n = Array.BinarySearch(powers, dr["section_id"].ToString());
if (arr.Contains(dr["section_id"].ToString().Trim()))
{
treenode.Checked = true;
}
treenode.ShowCheckBox = true;
Nds.Add(treenode); int id = int.Parse(dr["section_id"].ToString().Trim());
CreateTree(treenode.ChildNodes, treenode.Value);
}
}
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
......树控件
</ContentTemplate>
</asp:UpdatePanel>
配置文件里面:
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
</httpHandlers>