ASP.NET2.0 TreeView

 ASP.NET2. 0  TreeView
1 .html代码
< html xmlns = " http://www.w3.org/1999/xhtml "   >
< head runat = " server " >
    
< title > Untitled Page </ title >
    
< script language = " javascript " >
        function chkAll()
        {
            
// debugger;
            var chkall =  document.all[ " chkall " ];
            var chkother
=  document.getElementsByTagName( " input " );
            
for  (var i = 0 ;i < chkother.length;i ++ )
            {
                
if ( chkother[i].type == ' checkbox ' )
                {
                    
if (chkother[i].id.indexOf( ' TreeView1 ' ) >- 1 )
                    {
                        
if (chkall. checked == true )
                        {
                            chkother[i].
checked = true ;
                        }
                        
else
                        {
                            chkother[i].
checked = false ;
                        }
                    }
                }
            }
        }
    
</ script >
</ head >
< body >
    
< form id = " form1 "  runat = " server " >
         
< table width = 100 %  height = 100 %>
            
< tr height = 10 >
                
< td >< input id = " chkall "  type = " checkbox "  onclick = " chkAll(); "   /> 全选 / 取消 </ td >
                
< td >< asp:Button ID = " Button1 "  runat = " server "  Text = " Button "   /></ td >
            
</ tr >
            
< tr valign = top >
                
< td >< asp:TreeView ID = " TreeView1 "  runat = " server "   ></ asp:TreeView ></ td >
                
< td >< iframe id = fMain style = " BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none "
                            src
= ""  frameBorder = " 0 "  width = " 100% "  scrolling = " yes "  height = " 100% " ></ iframe ></ td >
            
</ tr >
            
< tr height = 10 >
                
< td ></ td >
            
</ tr >
        
</ table >

    
</ form >
</ body >
</ html >
2 .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;
using  System.Data.SqlClient;

public  partial  class  Page_Wonderful_TreeView_System.Web.UI.Page
{
    
protected   void  Page_Load( object  sender, EventArgs e)
    {
        
if  ( ! Page.IsPostBack)
        {
            
// BindTree();
            InitTree();
        }
    }

    主从表绑定
#region  主从表绑定
    
private   void  BindTree()
    {
        DataSet dst 
=  GetTreeViewData();
        TreeView1.ShowCheckBoxes 
=  TreeNodeTypes.All;
        
foreach  (DataRow masterRow  in  dst.Tables[ " province " ].Rows)
        {
            TreeNode masterNode 
=   new  TreeNode(( string )masterRow[ " province " ]);
            TreeView1.Nodes.Add(masterNode);
            
foreach  (DataRow childRow  in  masterRow.GetChildRows( " Children " ))
            {
                TreeNode childNode 
= new  TreeNode(( string )childRow[ " city " ]);
                masterNode.Expanded 
=   false ;
                masterNode.ChildNodes.Add(childNode);
            }
        }
    }

    
private  DataSet GetTreeViewData()
    {
        
string  constring  =  System.Configuration.ConfigurationSettings.AppSettings[ " ConnectionString " ];
        SqlConnection con 
=   new  SqlConnection(constring);
        SqlDataAdapter daprovince 
=   new  SqlDataAdapter( " SELECT * FROM province " , con);
        SqlDataAdapter dacity 
=   new  SqlDataAdapter( " SELECT * FROM city " , con);
        DataSet ds 
=   new  DataSet();
        daprovince.Fill(ds, 
" province " );
        dacity.Fill(ds, 
" city " );
        ds.Relations.Add(
" Children " , ds.Tables[ " province " ].Columns[ " provinceid " ], ds.Tables[ " city " ].Columns[ " father " ]);
        
return  ds;
    }
    
#endregion

    递归绑定同一个表数据
#region  递归绑定同一个表数据
    
private   void  InitTree()
    {
        DataTable dt 
=  GetTreeViewTable();
        DataView dv 
=   new  DataView(dt);
        dv.RowFilter 
=   " ParentID=0 " ;
        TreeView1.ShowCheckBoxes 
=  TreeNodeTypes.All;
        
foreach  (DataRowView drv  in  dv)
        {
            TreeNode node 
=   new  TreeNode();
            node.Text 
=  drv[ " text " ].ToString();
            node.Value 
=  drv[ " ID " ].ToString();
            node.Expanded 
=   false ;
            TreeView1.Nodes.Add(node);
            AddReplies(dt,node);
        }
    }

    
private  DataTable GetTreeViewTable()
    {
        
string  constring  =  System.Configuration.ConfigurationSettings.AppSettings[ " ConnectionString " ];
        SqlConnection con 
=   new  SqlConnection(constring);
        SqlDataAdapter da 
=   new  SqlDataAdapter( " SELECT * FROM treeview " , con);
        DataTable dt 
=   new  DataTable();
        da.Fill(dt);
        
return  dt;
    }

    
private   void  AddReplies(DataTable dt, TreeNode node)
    {
        DataView dv 
=   new  DataView(dt);
        dv.RowFilter 
=   " ParentID=' "   +  node.Value  +   " ' " ;
        
foreach  (DataRowView row  in  dv)
        {
            TreeNode replyNode 
=   new  TreeNode();
            replyNode.Text 
=  row[ " text " ].ToString();
            replyNode.Value 
=  row[ " ID " ].ToString();
            replyNode.Expanded 
=   false ;
            node.ChildNodes.Add(replyNode);
            AddReplies(dt,replyNode);
        }
    }
    
#endregion
}

转载于:https://www.cnblogs.com/wenanry/archive/2007/04/09/705230.html

1、资源项目源码均已通过严格测试验证,保证能够正常运行;、 2项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行;、 2项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 、 1资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READmE.文件(md如有),本项目仅用作交流学习参考,请切勿用于商业用途。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READmE.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值