Treeview的递归绑定

来源:互联网 发布:mikumikudance mac 编辑:程序博客网 时间:2024/05/18 03:33
1using System;
  2using System.Collections;
  3using System.ComponentModel;
  4using System.Data;
  5using System.Drawing;
  6using System.Web;
  7using System.Web.SessionState;
  8using System.Web.UI;
  9using System.Web.UI.WebControls;
 10using System.Web.UI.HtmlControls;
 11using System.Data.OracleClient;
 12using Microsoft.Web.UI.WebControls;
 13using System.Data.SqlClient;
 14namespace test
 15{
 16 /// <summary>
 17 /// WebForm5 的摘要说明。
 18 /// </summary>

 19 public class WebForm5 : System.Web.UI.Page
 20 {
 21  protected Microsoft.Web.UI.WebControls.TreeView TreeView1;
 22 
 23  private DataTable objDataTable;
 24
 25  private void Page_Load(object sender, System.EventArgs e)
 26  {
 27   // 在此处放置用户代码以初始化页面
 28
 29   
 30   objDataTable = GetBackupRecord();  //取得所有数据得到DataTable 
 31   this.CreateTree( TreeView1.Nodes,"0" ); //建立节点
 32  }

 33
 34  #region Web 窗体设计器生成的代码
 35  override protected void OnInit(EventArgs e)
 36  {
 37   //
 38   // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
 39   //
 40   InitializeComponent();
 41   base.OnInit(e);
 42  }

 43  
 44  /// <summary>
 45  /// 设计器支持所需的方法 - 不要使用代码编辑器修改
 46  /// 此方法的内容。
 47  /// </summary>

 48  private void InitializeComponent()
 49  {    
 50   this.Load += new System.EventHandler(this.Page_Load);
 51
 52  }

 53  #endregion

 54
 55#region 绑定树控件
 56  private void CreateTree( TreeNodeCollection node,string parent_id ) 
 57  
 58   DataView dvList = new DataView( this.objDataTable ); 
 59   dvList.RowFilter = "parentiidd=" + parent_id + "";  //过滤父节点 
 60   TreeNode nodeTemp; 
 61   foreach ( DataRowView dv in dvList ) 
 62   
 63    nodeTemp = new TreeNode(); 
 64    nodeTemp.ID = dv["iidd"].ToString();  //节点ID 
 65    nodeTemp.Text = dv["type"].ToString();  //节点名称 
 66    //nodeTemp.NavigateUrl = dv["ADDRESS"].ToString();  //节点链接地址 
 67    //nodeTemp.ImageUrl = dv["IMAGE"].ToString();  //节点图片(未展开) 
 68    //nodeTemp.SelectedImageUrl = dv["IMAGE_EX"].ToString();  //节点图片(展开) 
 69    nodeTemp.Target = "_parent";  //节点链接Target 
 70     
 71    node.Add( nodeTemp );  //加入节点 
 72    this.CreateTree( nodeTemp.Nodes,nodeTemp.ID );  //递归 
 73
 74   
 75    
 76   }
 
 77  }

 78#endregion

 79
 80
 81#region 得到数据 
 82  public DataTable GetBackupRecord()
 83  {
 84   try
 85   {
 86
 87    string str="server=localhost;database=lsa1008pt;uid=sa;pwd=sundun";
 88    SqlConnection conn=new SqlConnection(str);
 89    SqlDataAdapter da=new SqlDataAdapter("select * from gg_bilu_wenhuatype",conn);
 90
 91    DataSet dataSet =new DataSet();
 92    da.Fill(dataSet);
 93
 94    return dataSet.Tables[0];
 95   }

 96   catch(Exception e)
 97   {
 98    throw e;
 99   }

100  }

101#endregion

102 }

103}