ASP.NET 2.0中層次數(shù)據(jù)的處理(3)_.Net教程
推薦:用ASP.NET/C#連接Access和SQL Server數(shù)據(jù)庫連接Access 首先看一個(gè)例子代碼片斷: 程序代碼: -------------------------------------------------------------------------------- using System.Data; using System.Data.Ole
下面的例子演示了一個(gè)綁定到SiteMapDataSource控件的TreeView。盡管這個(gè)例子使用的是數(shù)據(jù)綁定集合,但是如果你只需要綁定到節(jié)點(diǎn)的Text和Url屬性,這樣的操作就是沒必要的。
<asp:SiteMapDataSource ID="SiteMapSource" runat="server"/>
<asp:TreeView ID="MyTreeView" SkinId="BulletedList3"
DataSourceId="SiteMapSource" runat="server">
<Databindings>
<asp:TreeNodeBinding TextField="Title" NavigateUrlField="Url" />
</Databindings>
</asp:TreeView>
綁定到關(guān)系數(shù)據(jù)庫
當(dāng)關(guān)系數(shù)據(jù)庫中的多個(gè)表通過外部鍵相關(guān)聯(lián)的時(shí)候,也可以用層次結(jié)構(gòu)來表現(xiàn)。例如,在產(chǎn)品數(shù)據(jù)庫中,產(chǎn)品與產(chǎn)品類別關(guān)聯(lián),它們就可以用類別和產(chǎn)品之間的層次(1對(duì)多)關(guān)系來表現(xiàn)。盡管當(dāng)前的ASP.NET版本沒有包含一個(gè)用于把關(guān)系數(shù)據(jù)顯示為層次結(jié)構(gòu)的控件,你仍然可以通過編程填充層次的數(shù)據(jù)綁定控件(例如TreeView或Menu)的節(jié)點(diǎn)/數(shù)據(jù)項(xiàng)來實(shí)現(xiàn)這種目的。下面的例子顯示了一個(gè)用關(guān)系數(shù)據(jù)庫填充的TreeView控件。這個(gè)例子利用TreeView的PopulateOnDemand特性,按需求(客戶端上擴(kuò)展某個(gè)TreeNode的時(shí)候)來填充子節(jié)點(diǎn)。
Sub GetProductCategories(ByVal node As TreeNode)
Dim categories As CategoryList = WarehouseDB.GetProductCategories()
Dim c As Category
For Each c In categories
Dim newNode As TreeNode = New TreeNode(c.Name, c.Id)
newNode.SelectAction = TreeNodeSelectAction.Expand
newNode.PopulateOnDemand = True
node.ChildNodes.Add(newNode)
Next
End Sub
Sub GetProductsForCategory(ByVal node As TreeNode)
Dim categoryId As String = node.Value
Dim products As ProductList = WarehouseDB.GetProductsForCategory(categoryId)
Dim p As Product
For Each p In products
Dim newNode As TreeNode = New TreeNode(p.Name, p.Id)
node.ChildNodes.Add(newNode)
Next
End Sub
Sub PopulateNode(ByVal source As Object, ByVal e As TreeNodeEventArgs)
Select Case e.Node.Depth
Case 0
GetProductCategories(e.Node)
Case 1
GetProductsForCategory(e.Node)
End Select
End Sub
<asp:TreeView ID="TreeView1" OnTreeNodePopulate="PopulateNode" SkinId="Simple" Width="250" ExpandDepth="0" runat="server">
<Nodes>
<asp:TreeNode Text="Inventory" SelectAction="Expand" PopulateOnDemand="true"/>
</Nodes>
</asp:TreeView>
分享:ASP.NET、JSP及PHP之間的抉擇由于我常接是ASP、JSP及PHP的項(xiàng)目,所以正開始寫一系列的文章來比較它們之間的差別,當(dāng)我寫到一半時(shí),ASP 被宣布了,所以我不得不重新開始審視這個(gè)問題。我正在同時(shí)做一個(gè)JSP項(xiàng)目和一個(gè)ASP項(xiàng)目
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實(shí)例(可帶附件)
- js實(shí)現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數(shù)據(jù)綁定的具體實(shí)現(xiàn)
- Asp.Net 無刷新文件上傳并顯示進(jìn)度條的實(shí)現(xiàn)方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報(bào)表的使用方法
- ASP.NET中操作SQL數(shù)據(jù)庫(連接字符串的配置及獲取)
- asp.net頁面?zhèn)髦禍y試實(shí)例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲(chǔ)過程實(shí)現(xiàn)分頁示例代碼
.Net教程Rss訂閱編程教程搜索
.Net教程推薦
- 解讀ASP.NET MVC中必知的13個(gè)擴(kuò)展點(diǎn)
- 關(guān)于.NET 4.0改進(jìn)的介紹
- 解析linq to xml操作XML的示例分析
- 淺析.Net平臺(tái)下開發(fā)中文語音應(yīng)用程序
- 基于asp.net下使用jquery實(shí)現(xiàn)ajax的解決方法
- 基于C#的接口基礎(chǔ)教程之五
- asp.net2.0學(xué)習(xí)歷程-菜鳥到中級(jí)程序員的飛躍
- 怎樣在ASP.NET項(xiàng)目里面正確使用Linq to Sql
- 淺談Ja.Net:融合 Java 1.5 和 .NET
- asp.net中“從客戶端中檢測到有潛在危險(xiǎn)的Request.Form值”的錯(cuò)誤
- 相關(guān)鏈接:
- 教程說明:
.Net教程-ASP.NET 2.0中層次數(shù)據(jù)的處理(3)
。