打印本文 打印本文 关闭窗口 关闭窗口
在 ASP.NET 页面中使用 TreeView 控件
作者:武汉SEO闵涛  文章来源:敏韬网  点击数3544  更新时间:2009/4/23 10:41:29  文章录入:mintao  责任编辑:mintao
>

           /// </summary>

           /// <param name="dt">从数据库抓出的 DataTable</param>

           /// <param name="node">将要添加子节点的父节点</param>

           /// <param name="id">父节点的 ID,“0” 为根节点</param>

           private void AddNodes(DataTable dt,TreeNode node,string id)

           {

                DataRow[] rows = dt.Select("ParentID="+id); //筛选出属于父节点 “node”的子节点集合

                foreach(DataRow dr in rows) //循环子节点集合

                {

                     TreeNode nd = new TreeNode();

                     nd.NavigateUrl=dr["URL"].ToString(); //设置浏览的网址

                     nd.NodeData=dr["NodeID"].ToString(); //存放节点 ID

                     nd.Text=dr["NodeName"].ToString();   //设置节点名称

                     this.AddNodes(dt,nd,nd.NodeData);    //递归,添加该节点的子节点

                     if(node==null || id=="0")

                     {

                           this.TreeView1.Nodes.Add(nd);    //添加至根节点

                     }

                     else

                     {

                           node.Nodes.Add(nd);              //添加子节点

                     }

                }

2、       展开节点时读取该节点的数据

TreeView 控件属性→ 自动提交(AutoPostBack) → True


TreeView 控件属性→ 事件 → 双击展开(Expand)


 

           private void Page_Load(object sender, System.EventArgs e)

           {

                if(!IsPostBack)

                {

                     this.AddSingleNode(null,"0"); //找出根节点

                }

                this.TreeView1.SelectedNodeIndex="";   //不选中任何节点

           }

 

           /// <summary>

           /// 展开节点时,触发的事件

           /// </summary>

           /// <param name="sender">TreeView 控件</param>

           /// <param name="e"></param>

           private void TreeView1_Expand(object sender, Microsoft.Web.UI.WebControls.TreeViewClickEventArgs e)

           {

        &nb

上一页  [1] [2] [3] [4]  下一页

打印本文 打印本文 关闭窗口 关闭窗口