Asp.net 2.0 Treeview 动态填充,并实现无限级树

时间:2022-02-24 12:56:31
Asp.net 2.0 Treeview 动态填充,并实现无限级树,
数据库表关键字段:
表: table1
 
Asp.net 2.0 Treeview 动态填充,并实现无限级树type_id  type_name   per_type_id
Asp.net 2.0 Treeview 动态填充,并实现无限级树   
0         根目录               - 1
Asp.net 2.0 Treeview 动态填充,并实现无限级树   
1         子目录                 0
Asp.net 2.0 Treeview 动态填充,并实现无限级树   
2         子目录2              0
Asp.net 2.0 Treeview 动态填充,并实现无限级树   
3         子子目录               2
Asp.net 2.0 Treeview 动态填充,并实现无限级树   Asp.net 2.0 Treeview 动态填充,并实现无限级树.
Asp.net 2.0 Treeview 动态填充,并实现无限级树   
9         根目录二             - 1
Asp.net 2.0 Treeview 动态填充,并实现无限级树

 C#代码
Asp.net 2.0 Treeview 动态填充,并实现无限级树using  System;
Asp.net 2.0 Treeview 动态填充,并实现无限级树
using  System.Data;
Asp.net 2.0 Treeview 动态填充,并实现无限级树
using  System.Configuration;
Asp.net 2.0 Treeview 动态填充,并实现无限级树
using  System.Collections;
Asp.net 2.0 Treeview 动态填充,并实现无限级树
using  System.Web;
Asp.net 2.0 Treeview 动态填充,并实现无限级树
using  System.Web.Security;
Asp.net 2.0 Treeview 动态填充,并实现无限级树
using  System.Web.UI;
Asp.net 2.0 Treeview 动态填充,并实现无限级树
using  System.Web.UI.WebControls;
Asp.net 2.0 Treeview 动态填充,并实现无限级树
using  System.Web.UI.WebControls.WebParts;
Asp.net 2.0 Treeview 动态填充,并实现无限级树
using  System.Web.UI.HtmlControls;
Asp.net 2.0 Treeview 动态填充,并实现无限级树
using  System.Data.SqlClient;
Asp.net 2.0 Treeview 动态填充,并实现无限级树
Asp.net 2.0 Treeview 动态填充,并实现无限级树
Asp.net 2.0 Treeview 动态填充,并实现无限级树
Asp.net 2.0 Treeview 动态填充,并实现无限级树
public   partial   class  tree : System.Web.UI.Page
Asp.net 2.0 Treeview 动态填充,并实现无限级树Asp.net 2.0 Treeview 动态填充,并实现无限级树
{
Asp.net 2.0 Treeview 动态填充,并实现无限级树  
Asp.net 2.0 Treeview 动态填充,并实现无限级树    
protected void Page_Load(object sender, EventArgs e)
Asp.net 2.0 Treeview 动态填充,并实现无限级树Asp.net 2.0 Treeview 动态填充,并实现无限级树    
{
Asp.net 2.0 Treeview 动态填充,并实现无限级树
Asp.net 2.0 Treeview 动态填充,并实现无限级树        TreeView1.Nodes.Clear();
Asp.net 2.0 Treeview 动态填充,并实现无限级树
Asp.net 2.0 Treeview 动态填充,并实现无限级树        DataTable dt 
= tree_table();                  
Asp.net 2.0 Treeview 动态填充,并实现无限级树        DataView dv 
= new DataView(dt);
Asp.net 2.0 Treeview 动态填充,并实现无限级树        dv.RowFilter 
= "type_id = 0";
Asp.net 2.0 Treeview 动态填充,并实现无限级树
Asp.net 2.0 Treeview 动态填充,并实现无限级树        
foreach (DataRowView drv in dv)
Asp.net 2.0 Treeview 动态填充,并实现无限级树Asp.net 2.0 Treeview 动态填充,并实现无限级树        
{
Asp.net 2.0 Treeview 动态填充,并实现无限级树            TreeNode node 
= new TreeNode();
Asp.net 2.0 Treeview 动态填充,并实现无限级树            node.Text 
= drv["type_name"].ToString();
Asp.net 2.0 Treeview 动态填充,并实现无限级树            node.Value 
= drv["type_id"].ToString();
Asp.net 2.0 Treeview 动态填充,并实现无限级树            node.NavigateUrl 
= "?s=" + drv["type_id"].ToString();
Asp.net 2.0 Treeview 动态填充,并实现无限级树            TreeView1.Nodes.Add(node);
Asp.net 2.0 Treeview 动态填充,并实现无限级树            AddChildNode(dt, node);
Asp.net 2.0 Treeview 动态填充,并实现无限级树        }

Asp.net 2.0 Treeview 动态填充,并实现无限级树       
Asp.net 2.0 Treeview 动态填充,并实现无限级树        
Asp.net 2.0 Treeview 动态填充,并实现无限级树    }

Asp.net 2.0 Treeview 动态填充,并实现无限级树
Asp.net 2.0 Treeview 动态填充,并实现无限级树    
private DataTable tree_table()
Asp.net 2.0 Treeview 动态填充,并实现无限级树Asp.net 2.0 Treeview 动态填充,并实现无限级树    
{
Asp.net 2.0 Treeview 动态填充,并实现无限级树       
Asp.net 2.0 Treeview 动态填充,并实现无限级树        
//hooyesDataLink 为配置中数据连接字符串键名
Asp.net 2.0 Treeview 动态填充,并实现无限级树
        SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings["hooyesDataLink"]);
Asp.net 2.0 Treeview 动态填充,并实现无限级树        SqlDataAdapter sda 
= new SqlDataAdapter("select * from table1", con);
Asp.net 2.0 Treeview 动态填充,并实现无限级树        DataTable dt 
= new DataTable();
Asp.net 2.0 Treeview 动态填充,并实现无限级树        sda.Fill(dt);
Asp.net 2.0 Treeview 动态填充,并实现无限级树        
return dt;
Asp.net 2.0 Treeview 动态填充,并实现无限级树    }

Asp.net 2.0 Treeview 动态填充,并实现无限级树
Asp.net 2.0 Treeview 动态填充,并实现无限级树Asp.net 2.0 Treeview 动态填充,并实现无限级树    
#region 递归以实现无限级树 
Asp.net 2.0 Treeview 动态填充,并实现无限级树    
private void AddChildNode(DataTable dt, TreeNode node)
Asp.net 2.0 Treeview 动态填充,并实现无限级树Asp.net 2.0 Treeview 动态填充,并实现无限级树    
{
Asp.net 2.0 Treeview 动态填充,并实现无限级树        DataView dv 
= new DataView(dt);//建立dt的表视图
Asp.net 2.0 Treeview 动态填充,并实现无限级树
        dv.RowFilter = "per_type_id = '" + node.Value + "'"//过滤
Asp.net 2.0 Treeview 动态填充,并实现无限级树
        foreach (DataRowView drv1 in dv)
Asp.net 2.0 Treeview 动态填充,并实现无限级树Asp.net 2.0 Treeview 动态填充,并实现无限级树        
{
Asp.net 2.0 Treeview 动态填充,并实现无限级树            TreeNode ChildNode 
= new TreeNode(); 
Asp.net 2.0 Treeview 动态填充,并实现无限级树            ChildNode.Text 
= drv1["type_name"].ToString();
Asp.net 2.0 Treeview 动态填充,并实现无限级树            ChildNode.Value 
= drv1["type_id"].ToString();
Asp.net 2.0 Treeview 动态填充,并实现无限级树            ChildNode.NavigateUrl 
= "?s=" + drv1["type_id"].ToString();
Asp.net 2.0 Treeview 动态填充,并实现无限级树            ChildNode.Expanded 
= true;//展开属性为FALSE
Asp.net 2.0 Treeview 动态填充,并实现无限级树

Asp.net 2.0 Treeview 动态填充,并实现无限级树            node.ChildNodes.Add(ChildNode);
Asp.net 2.0 Treeview 动态填充,并实现无限级树
Asp.net 2.0 Treeview 动态填充,并实现无限级树
Asp.net 2.0 Treeview 动态填充,并实现无限级树            AddChildNode(dt, ChildNode);
Asp.net 2.0 Treeview 动态填充,并实现无限级树        }

Asp.net 2.0 Treeview 动态填充,并实现无限级树    }

Asp.net 2.0 Treeview 动态填充,并实现无限级树    
#endregion

Asp.net 2.0 Treeview 动态填充,并实现无限级树
Asp.net 2.0 Treeview 动态填充,并实现无限级树
Asp.net 2.0 Treeview 动态填充,并实现无限级树}

Asp.net 2.0 Treeview 动态填充,并实现无限级树

效果:
Asp.net 2.0 Treeview 动态填充,并实现无限级树

Feedback