TreeView.DataBindings 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取 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。
- 属性
示例
本部分包含两个代码示例。 第一个代码示例演示如何使用 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 控件会按以下优先级顺序应用树节点绑定:
TreeNodeBinding定义深度和数据成员的对象。
TreeNodeBinding仅定义深度的对象。
TreeNodeBinding仅定义数据成员的对象。
TreeNodeBinding定义深度和数据成员的对象。
如果指定了多个符合相同优先条件的绑定,则应用集合中的第一个绑定。
建立绑定条件后,可以绑定可绑定到值的对象的属性 TreeNode 。 可以绑定到数据项的属性或字段,也可以显示静态值。 有关将对象的属性 TreeNode 绑定到值的详细信息,请参阅 TreeNodeBinding。
DataBindings虽然可以以编程方式填充集合,但它通常以声明方式进行设置。 若要指定树节点绑定,请在控件的TreeView开始标记和结束标记之间嵌套打开和结束<DataBindings>
标记。 接下来,在要指定的每个树节点绑定的开始标记和结束<DataBindings>
标记之间放置<asp:TreeNodeBinding>
元素。
通过将控件的属性TreeView设置为AutoGenerateDataBindings创建数据绑定时,创建的绑定将属性PopulateOnDemand设置为 true
。true
以声明方式创建的数据绑定将 PopulateOnDemand 属性设置为 false
。 使用声明性语法可以控制单个数据绑定的行为。