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

属性

このセクションには、2 つのコード例が含まれています。 最初のコード例では、コレクションを DataBindings 使用して、データ項目とバインド先のノードの間のリレーションシップを定義する方法を示します。 2 番目のコード例では、最初のコード例のサンプル 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 プログラムで設定できますが、通常は宣言によって設定されます。 ツリー ノード バインドを指定するには、まず、コントロールの開始タグと終了タグの間に開始タグと終了 <DataBindings> タグを TreeView 入れ子にします。 次に、指定するツリー ノード バインドごとに、開始タグと終了<DataBindings>タグの間に要素を配置<asp:TreeNodeBinding>します。

コントロールtrueのプロパティを設定してデータ バインディングをAutoGenerateDataBindingsTreeView作成する場合、作成されるバインドにはプロパティがPopulateOnDemand設定trueされます。 宣言によって作成されるデータ バインディングには、プロパティが PopulateOnDemand .false 宣言型構文を使用すると、個々のデータ バインディングの動作を制御できます。

適用対象

こちらもご覧ください