ASP.NET 2.0中层次数据的处理(3)_.Net教程
推荐:用ASP.NET/C#连接Access和SQL Server数据库连接Access 首先看一个例子代码片断: 程序代码: -------------------------------------------------------------------------------- using System.Data; using System.Data.Ole
下面的例子演示了一个绑定到SiteMapDataSource控件的TreeView。尽管这个例子使用的是数据绑定集合,但是如果你只需要绑定到节点的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>
绑定到关系数据库
当关系数据库中的多个表通过外部键相关联的时候,也可以用层次结构来表现。例如,在产品数据库中,产品与产品类别关联,它们就可以用类别和产品之间的层次(1对多)关系来表现。尽管当前的ASP.NET版本没有包含一个用于把关系数据显示为层次结构的控件,你仍然可以通过编程填充层次的数据绑定控件(例如TreeView或Menu)的节点/数据项来实现这种目的。下面的例子显示了一个用关系数据库填充的TreeView控件。这个例子利用TreeView的PopulateOnDemand特性,按需求(客户端上扩展某个TreeNode的时候)来填充子节点。
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的项目,所以正开始写一系列的文章来比较它们之间的差别,当我写到一半时,ASP 被宣布了,所以我不得不重新开始审视这个问题。我正在同时做一个JSP项目和一个ASP项目
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP发送Email实例(可带附件)
- js实现广告漂浮效果的小例子
- asp.net Repeater 数据绑定的具体实现
- Asp.Net 无刷新文件上传并显示进度条的实现方法及思路
- Asp.net获取客户端IP常见代码存在的伪造IP问题探讨
- VS2010 水晶报表的使用方法
- ASP.NET中操作SQL数据库(连接字符串的配置及获取)
- asp.net页面传值测试实例代码
- DataGridView - DataGridViewCheckBoxCell的使用介绍
- asp.net中javascript的引用(直接引入和间接引入)
- 三层+存储过程实现分页示例代码
- 相关链接:
- 教程说明:
.Net教程-ASP.NET 2.0中层次数据的处理(3)。