萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> asp.net編程 >> ASP.NET中TreeView用法

ASP.NET中TreeView用法

 下面是一個Treeview動態的綁定3層深度的樹的代碼,有需要的朋友可以參考一下

代碼如下: using System; using System.Collections; using System.Configuration; using System.Data; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Data.SqlClient; using Common; using DataAccess;   public partial class Controls_ProductType2 : System.Web.UI.UserControl {         ProductType productType = new ProductType();     Product product = new Product();     protected void TreeView_TreeNodePopulate(object sender, TreeNodeEventArgs e)     {           if (e.Node.ChildNodes.Count == 0)         {             switch (e.Node.Depth)             {                 case 0:                     PopulateCategories(e.Node);                     break;                 case 1:                     PopulateProductType(e.Node);                     break;                 case 2:                     PopulateProducts(e.Node);                     break;             }         }         //  int i = TreeToXml.TreeToXML(TreeView1, "D:/TreeToXML.xml");       }       protected void Page_Load(object sender, EventArgs e)     {       }       //第一級節點(parentID=0)     void PopulateCategories(TreeNode node)     {         DataTable dt = new DataTable();         dt = productType.GetListByFatherNode();           if (dt.Rows.Count > 0)         {             foreach (DataRow row in dt.Rows)             {                 TreeNode NewNode = new TreeNode(row["ProductTypeName"].ToString(), row["ProductTypeID"].ToString(),"","../WebProductList.aspx?productTypeIdOne="+ row["ProductTypeID"].ToString() +"","");                 NewNode.PopulateOnDemand = true;                 NewNode.SelectAction = TreeNodeSelectAction.Expand;                 node.ChildNodes.Add(NewNode);                 node.Expanded = true ;             }         }       }       //第二級節點     void PopulateProductType(TreeNode node)     {         DataTable dt = new DataTable();         QueryParam queryparam = new QueryParam();         queryparam.Add("ParentID", QueryParam.RELATION.EQ, "" + node.Value + "");         dt = productType.GetListByBranchNode(queryparam);           if (dt.Rows.Count > 0)         {             foreach (DataRow row in dt.Rows)             {                 TreeNode NewNode = new TreeNode(row["ProductTypeName"].ToString(), row["ProductTypeID"].ToString(), "", "../WebProductList.aspx?productTypeIdTwo=" + row["ProductTypeID"].ToString() + "", "");                 NewNode.PopulateOnDemand = true;                 NewNode.SelectAction = TreeNodeSelectAction.Expand;                 node.ChildNodes.Add(NewNode);                 node.Expanded = false ;             }         }     }       //第三個節點     void PopulateProducts(TreeNode node)     {         DataTable dt = new DataTable();         QueryParam queryparam = new QueryParam();         queryparam.Add("ProductTypeItemID", QueryParam.RELATION.EQ, "" + node.Value + "");         dt = product.GetList(queryparam);           if (dt.Rows.Count > 0)         {             foreach (DataRow row in dt.Rows)             {                 TreeNode NewNode = new TreeNode(row["ProductName"].ToString(), row["ProductID"].ToString(), "", "../WebProductDetaile.aspx?productID=" + row["ProductID"].ToString() + "", "");                 //NewNode.PopulateOnDemand = false;                 //NewNode.SelectAction = TreeNodeSelectAction.None;                 NewNode.PopulateOnDemand =true ;                 NewNode.SelectAction = TreeNodeSelectAction.Expand ;                 node.ChildNodes.Add(NewNode);                 node.Expanded = false;             }         }     }     }  
copyright © 萬盛學電腦網 all rights reserved