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
屬性值
A 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為 true來建立時,所建立的綁定的屬性都設定PopulateOnDemand為 true。 以宣告方式建立的資料綁定,屬性設 PopulateOnDemand 為 false。 使用宣告式語法可以控制個別資料綁定的行為。