關(guān)于ASP.NET中TreeView用法的一個(gè)小例子
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)
{
}
//第一級(jí)節(jié)點(diǎn)(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 ;
}
}
}
//第二級(jí)節(jié)點(diǎn)
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 ;
}
}
}
//第三個(gè)節(jié)點(diǎn)
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;
}
}
}
}
- asp.net mvc下拉框Html.DropDownList 和DropDownListFor的常用方法
- ASP.NET MVC DropDownList數(shù)據(jù)綁定及使用詳解
- ASP.NET Ajax級(jí)聯(lián)DropDownList實(shí)現(xiàn)代碼
- asp.net省市三級(jí)聯(lián)動(dòng)的DropDownList+Ajax的三種框架(aspnet/Jquery/ExtJs)示例
- (asp.net c#)DropDownList綁定后顯示對(duì)應(yīng)的項(xiàng)的兩種方法
- 打造基于jQuery的高性能TreeView(asp.net)
- ASP.NET實(shí)現(xiàn)TreeView的XML數(shù)據(jù)源綁定實(shí)例代碼
- ASP.NET使用TreeView顯示文件的方法
- ASP.NET中使用TreeView顯示文件的方法
- ASP.NET中 ListBox列表框控件的使用方法
- ASP.NET中DropDownList和ListBox實(shí)現(xiàn)兩級(jí)聯(lián)動(dòng)功能
- asp.net中ListBox 綁定多個(gè)選項(xiàng)為選中及刪除實(shí)現(xiàn)方法
- Asp.net treeview實(shí)現(xiàn)無(wú)限級(jí)樹(shù)實(shí)現(xiàn)代碼
- asp.net實(shí)現(xiàn)DropDownList,TreeView,ListBox的無(wú)限極分類(lèi)目錄樹(shù)
相關(guān)文章
asp.net 繼承自Page實(shí)現(xiàn)統(tǒng)一頁(yè)面驗(yàn)證與錯(cuò)誤處理
一直以來(lái),我都在思考以前一個(gè)項(xiàng)目中,后臺(tái)文件中很多的.aspx文件上的權(quán)限判斷問(wèn)題,傻乎乎的我基本上每個(gè)文件當(dāng)時(shí)都給加了一句2009-04-04
Asp.NET?Core?WebApi?配置文件詳細(xì)說(shuō)明
ASP.NET?Core?提供了一套靈活的配置系統(tǒng),允許開(kāi)發(fā)者從多種來(lái)源加載配置數(shù)據(jù),并根據(jù)需要使用這些配置,這篇文章主要介紹了Asp.NET?Core?WebApi?配置文件,需要的朋友可以參考下2025-04-04
asp.net 產(chǎn)生唯一隨機(jī)碼的方法分析
現(xiàn)在的WEB中經(jīng)常會(huì)需要產(chǎn)生一些邀請(qǐng)碼、激活碼。需要是唯一并且隨機(jī)的。下面總結(jié)下一些常用的產(chǎn)生隨機(jī)碼的方法,并分享自己的1個(gè)方法.2010-10-10
.NET內(nèi)存泄漏分析Windbg項(xiàng)目實(shí)例
這篇文章介紹了.NET內(nèi)存泄漏分析Windbg項(xiàng)目實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-12-12
ASP.NET比較常用的26個(gè)性能優(yōu)化技巧
這篇文章主要給大家介紹asp.net中比較常用的26個(gè)性能優(yōu)化技巧,主要設(shè)計(jì)到asp.net中常用的26個(gè)性能優(yōu)化方面的內(nèi)容,對(duì)于asp.net中常用的26個(gè)性能優(yōu)化技巧感興趣的朋友可以參考下本篇文章2015-10-10
C#實(shí)現(xiàn)支持?jǐn)帱c(diǎn)續(xù)傳多線程下載客戶端工具類(lèi)
C#實(shí)現(xiàn)支持?jǐn)帱c(diǎn)續(xù)傳多線程下載的 Http Web 客戶端工具類(lèi) (C# DIY HttpWebClient),感興趣的朋友可以參考下本文,或許對(duì)你有所幫助2013-04-04
C#調(diào)用動(dòng)態(tài)unlha32.dll解壓Lha后綴的打包文件分享
這篇文章介紹了,C#調(diào)用動(dòng)態(tài)unlha32.dll解壓Lha后綴的打包文件,有需要的朋友可以參考一下2013-09-09
關(guān)于.net環(huán)境下跨進(jìn)程、高頻率讀寫(xiě)數(shù)據(jù)的問(wèn)題
最近老大教給我一個(gè)項(xiàng)目,項(xiàng)目要求高頻次地讀寫(xiě)數(shù)據(jù),數(shù)據(jù)量也不是很大,難點(diǎn)在于這個(gè)規(guī)模的熱點(diǎn)數(shù)據(jù),變化非常頻繁,下面把我的處理方法分享到腳本之家平臺(tái),對(duì).net跨進(jìn)程高頻率讀寫(xiě)數(shù)據(jù)相關(guān)知識(shí)感興趣的朋友跟隨小編一起學(xué)習(xí)下吧2021-05-05
c# 讀取Northwind數(shù)據(jù)庫(kù)image字段
我在寫(xiě)一個(gè)三層結(jié)構(gòu)Demo時(shí),使用了Northwind這個(gè)范例數(shù)據(jù)庫(kù)。但是奇怪的是,讀取Categories表的Picture列(image類(lèi)型)無(wú)法在image控件中正常顯示(解決方案在后面代碼中可以看到)。2009-03-03

