动态生成TreeView并实现单击选中复选框同时实现复选框单选

本文介绍了如何动态生成TreeView,并详细讲解了如何实现在TreeView中单击选中复选框以及复选框的单选功能。涉及到的关键技术包括TreeNodeCheckChanged事件、SelectedNodeChanged事件以及javascript的__doPostBack方法和CheckedNodes属性。实现过程中,需要在后台隐藏页.cs代码中进行处理,并确保Web.config配置正确。此外,还提到了ASP.NET页面继承以及数据库表的设计,其中id和ParentId用于构建树形结构。
摘要由CSDN通过智能技术生成

本篇如何实现动态生成TreeView;如何实现单击选中复选框;如何实现复选框单选
其中涉及:TreeNodeCheckChanged,SelectedNodeChanged,javascript__doPostBack("","");,    CheckedNodes

隐藏页.cs(后台)代码:(用的时候记得改动webconfig,还有建表)

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;
using  System.Data.SqlClient;

public   partial   class  System_MenuManage : System.Web.UI.Page
{
    
protected   void  Page_Load( object  sender, EventArgs e)
    {
        
if  ( ! IsPostBack)
        {
            CreateTreeView();
            
// treeMenu.Attributes.Add("oncheck", "javascript:on();"); // 这的oncheck没有用的,checkbox钩种不会触发。而onclick会触发
            treeMenu.Attributes.Add( " onclick " " javascript:onPost() " ); 
        }
    }
    
///   <summary>
    
///  创建 TreeView 出自: http://www.cnblogs.com/Jinglecat/archive/2007/08/10/850090.html
    
///  此方法采取一次性加载目标数据到 DataTable,递归查询 DataTable ,创建子节点
    
///   </summary>
     private   void  CreateTreeView()
    {
        
// const int VirtualRootId = 0;  //  虚拟的根节点 ID, 表中 ParentID=0 的节点表示无实际父节点
         const   string  SQL_SELECT  =   " SELECT Id, NodeName,ParentId FROM TreeView ORDER BY ParentId ASC " ;
        
string  connStr  =  ConfigurationManager.ConnectionStrings[ " PKConnectionString " ].ConnectionString;
        
        SqlDataAdapter da 
=   new  SqlDataAdapter(SQL_SELECT, connStr);
        DataTable dt 
=   new  DataTable();
        
        da.Fill(dt);
        CreateTreeViewRecursive(treeMenu.Nodes, dt, 
0 );
    }

    
///   <summary>
    
///  递归查询数据,创建 TreeNode 节点
    
///   </summary>
    
///   <param name="nodes"></param>
    
///
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值