关于ASP.NET中TreeView用法的一个小例子
2013-12-13 15:22
621 查看
下面是一个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);
unity3d http://www.unitymanual.com/
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;
}
}
}
}
本文出自 “unity3d学习者” 博客,请务必保留此出处http://unity3d168.blog.51cto.com/4361353/1340265
代码如下:
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);
unity3d http://www.unitymanual.com/
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;
}
}
}
}
本文出自 “unity3d学习者” 博客,请务必保留此出处http://unity3d168.blog.51cto.com/4361353/1340265
相关文章推荐
- 关于ASP.NET中TreeView用法的一个小例子
- 关于ASP.NET中TreeView用法的一个小例子
- ASP.NET Zero--8.一个例子(1)菜单添加
- TreeView 用法(有代码)(asp.net)
- 发现 ASP.Net 的一个关于"回车提交"的 Bug ? 必须多于一个 Text 域"回车提交",Server: ButtonX_Click 才能截获!
- Android中关于ExpandableListView用法的一个简单小例子
- Google Earth & Asp.Net 一步一步从入门到精通(一)一个加载KML文档的例子
- asp.net 一个简易权限的小例子设计
- 在Asp.net 2.0中关于menu和treeview的几点使用注意!
- asp.net中关于双引号和单引号的用法
- 关于asp.net mvc 2.0 中 area的用法
- ASP.NET关于session的用法
- ASP.NET Zero--9.一个例子(2)商品分类管理-列表
- WF (Windows Workflow Foundation) 工作流学习(二)一个Asp.Net 与 顺序工作流 结合的例子
- 一个简单的 ASP.NET MVC 例子演示如何在 Knockout JS 的配合下,使用 TypeScript 。
- 关于ExpandableListView用法的一个简单小例子(转)
- ASP.NET ImageButton/Image 控件关于border的一个诡异的BUG及其解决方案
- Google Earth & Asp.Net 一步一步从入门到精通(一)一个加载KML文档的例子
- asp,asp.net中关于双引号和单引号的用法!
- 关于ExpandableListView用法的一个简单小例子