TreeView.DataBindings 属性

定义

获取 TreeNodeBinding 对象的集合,这些对象定义数据项与其绑定到的节点之间的关系。

public:
 property System::Web::UI::WebControls::TreeNodeBindingCollection ^ DataBindings { System::Web::UI::WebControls::TreeNodeBindingCollection ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public System.Web.UI.WebControls.TreeNodeBindingCollection DataBindings { get; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.DataBindings : System.Web.UI.WebControls.TreeNodeBindingCollection
Public ReadOnly Property DataBindings As TreeNodeBindingCollection

属性值

TreeNodeBindingCollection

表示数据项与其绑定到的节点之间关系的一个 TreeNodeBindingCollection

属性

示例

本部分包含两个代码示例。 第一个代码示例演示如何使用 DataBindings 集合定义数据项与要绑定到的节点之间的关系。 第二个代码示例为第一个代码示例提供示例 XML 数据。

下面的代码示例演示如何使用 DataBindings 集合定义数据项与要绑定到的节点之间的关系。 若要使此示例正常工作,必须将示例 XML 数据(在此代码示例之后提供)复制到名为Book.xml的文件。 此示例仅 DataMember 指定绑定的属性。 还可以通过指定 Depth 属性来添加轻微的性能提升。


<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>TreeView XML Data Binding Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>TreeView XML Data Binding Example</h3>
    
      <asp:TreeView id="BookTreeView" 
        DataSourceID="BookXmlDataSource"
        runat="server">
         
        <DataBindings>
          <asp:TreeNodeBinding DataMember="Book" TextField="Title"/>
          <asp:TreeNodeBinding DataMember="Chapter" TextField="Heading"/>
          <asp:TreeNodeBinding DataMember="Section" TextField="Heading"/>
        </DataBindings>
         
      </asp:TreeView>

      <asp:XmlDataSource id="BookXmlDataSource"  
        DataFile="Book.xml"
        runat="server">
      </asp:XmlDataSource>
    
    </form>
  </body>
</html>

<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>TreeView XML Data Binding Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>TreeView XML Data Binding Example</h3>
    
      <asp:TreeView id="BookTreeView" 
        DataSourceID="BookXmlDataSource"
        runat="server">
         
        <DataBindings>
          <asp:TreeNodeBinding DataMember="Book" TextField="Title"/>
          <asp:TreeNodeBinding DataMember="Chapter" TextField="Heading"/>
          <asp:TreeNodeBinding DataMember="Section" TextField="Heading"/>
        </DataBindings>
         
      </asp:TreeView>

      <asp:XmlDataSource id="BookXmlDataSource"  
        DataFile="Book.xml"
        runat="server">
      </asp:XmlDataSource>
    
    </form>
  </body>
</html>

下面的代码示例为前面的示例提供示例 XML 数据。

<Book Title="Book Title">
    <Chapter Heading="Chapter 1">
        <Section Heading="Section 1">
        </Section>
        <Section Heading="Section 2">
        </Section>
    </Chapter>
    <Chapter Heading="Chapter 2">
        <Section Heading="Section 1">
        </Section>
    </Chapter>
</Book>

注解

集合 DataBindings 包含 TreeNodeBinding 定义数据项与要绑定到的节点之间的关系的对象。 当绑定到数据源时,每个数据项包含多个属性 ((如具有多个属性的 XML 元素)) ,节点将默认显示数据项方法返回 ToString 的值。 在 XML 元素的情况下,节点显示元素名称,该名称显示树的基础结构,但不非常有用。 可以通过指定树节点绑定将节点绑定到特定的数据项属性。

定义数据项与节点之间的关系时,必须同时指定绑定条件和要绑定到对象的属性 TreeNode 的值。 条件指示数据项何时应绑定到节点。 可以使用节点深度、数据成员或两者同时指定条件。 节点深度指定绑定的节点级别。 例如,如果指定节点深度为 0,则级别 0 的树结构中的所有节点都使用树节点绑定进行绑定。 数据成员指定基础数据源中的数据项的类型,但可以根据数据源表示不同的信息。 例如,XML 元素的数据成员指定元素的名称。

如果定义了多个 TreeNodeBinding 相互冲突的对象,则 TreeView 控件会按以下优先级顺序应用树节点绑定:

  1. TreeNodeBinding定义深度和数据成员的对象。

  2. TreeNodeBinding仅定义深度的对象。

  3. TreeNodeBinding仅定义数据成员的对象。

  4. TreeNodeBinding定义深度和数据成员的对象。

如果指定了多个符合相同优先条件的绑定,则应用集合中的第一个绑定。

建立绑定条件后,可以绑定可绑定到值的对象的属性 TreeNode 。 可以绑定到数据项的属性或字段,也可以显示静态值。 有关将对象的属性 TreeNode 绑定到值的详细信息,请参阅 TreeNodeBinding

DataBindings虽然可以以编程方式填充集合,但它通常以声明方式进行设置。 若要指定树节点绑定,请在控件的TreeView开始标记和结束标记之间嵌套打开和结束<DataBindings>标记。 接下来,在要指定的每个树节点绑定的开始标记和结束<DataBindings>标记之间放置<asp:TreeNodeBinding>元素。

通过将控件的属性TreeView设置为AutoGenerateDataBindings创建数据绑定时,创建的绑定将属性PopulateOnDemand设置为 truetrue 以声明方式创建的数据绑定将 PopulateOnDemand 属性设置为 false。 使用声明性语法可以控制单个数据绑定的行为。

适用于

另请参阅