您现在的位置: 万盛学电脑网 >> 程序编程 >> 网络编程 >> asp.net编程 >> 正文

ASP.NET中TreeView用法

作者:佚名    责任编辑:admin    更新时间:2022-06-22

 下面是一个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;             }         }     }     }