ASP.NET - 填充 TreeView Web 服务器控件中的树节点

12/18/2009来源:ASP.NET实例人气:5789

  TreeView Web 服务器控件可以显示各种不同类型的数据:控件中以声明方式指定的静态数据;绑定到该控件的数据;或为响应用户操作而动态添加到 TreeView 控件中的数据。

一、显示静态数据

最简单的数据架构是声明性静态数据。若要使用声明性语法显示静态数据,请创建一个 TreeView 控件子级节点的集合。



下面的示例演示如何示包含三个节点(其中两个节点有子节点)的 TreeView 控件。

<asp:TreeView ID="TreeView1" Runat="server">

  <Nodes>

    <asp:TreeNode Value="Parent1" Expanded="True" Text="1">

      <asp:TreeNode Value="Child1A" Text="A" />

        <asp:TreeNode Value="Child1B" Text="B" />

    </asp:TreeNode>

    <asp:TreeNode Value="Parent2" Text="2">

    </asp:TreeNode>

    <asp:TreeNode Value="Parent3" Expanded="True" Text="3">

      <asp:TreeNode Value="Child3A" Text="A">

      </asp:TreeNode>

    </asp:TreeNode>

  </Nodes>

</asp:TreeView>



二、绑定到数据源

若要显示以声明方式绑定到该控件的数据,请首先向页面添加一个分层数据源控件(如 xmlDataSource 控件),并向该控件分配一个 ID。然后,将 TreeView 控件的 DataSourceID 属性设置为该数据源控件的 ID。TreeView 控件即可自动绑定到数据源并显示数据源的值。

说明: TreeView 控件可以绑定到实现 IHierarchicalDataSource 接口的任何数据源控件,如 SiteMapDataSource 对象或 XmlDataSource 对象。

默认情况下,在绑定一个数据源时,如果该数据源的每个数据项包含多个属性(如一个 XML 元素具有多个属性),则节点显示数据项的 ToString 方法所返回的值。就 XML 元素而言,节点显示该元素名称。此架构显示了树的基础结构,但在其他方面不是很有用。可以通过使用 DataBindings集合指定树节点绑定,从而将节点绑定到特定数据项属性。DataBindings 集合包含定义数据项和它所绑定到的节点之间的关系的 TreeNodeBinding 对象。可以指定绑定条件和要显示在节点中的数据项属性。

说明: 此外,TreeView 控件还为手动数据绑定提供了一个 DataSource 属性和一个 DataBind 方法。



三、动态显示数据

可能无法以静态方式定义数据结构,或数据可能依赖于运行时收集的信息。可以在服务器端代码中以编程方式将 TreeNode 对象填充到 TreeView 控件的 Nodes 集合中,也可以利用 TreeView 控件的 PopulateOnDemand 功能在客户端上的父节点展开时动态填充节点。



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/dodream/archive/2009/12/18/5030048.aspx