TreeView.DataBindings プロパティ

定義

データ項目とそのバインド先のノードとの間の関係を定義する TreeNodeBinding オブジェクトのコレクションを取得します。Gets a collection of TreeNodeBinding objects that define the relationship between a data item and the node that it is binding to.

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; }
member this.DataBindings : System.Web.UI.WebControls.TreeNodeBindingCollection
Public ReadOnly Property DataBindings As TreeNodeBindingCollection

プロパティ値

データ項目とそのバインド先のノードとの間の関係を表す TreeNodeBindingCollectionA TreeNodeBindingCollection that represents the relationship between a data item and the node that it is binding to.

属性

このセクションには、2 つのコード例が含まれています。This section contains two code examples. 最初のコード例は、 DataBindingsコレクションを使用して、データ項目とそのバインド先のノードとの間のリレーションシップを定義する方法を示しています。The first code example demonstrates how to use the DataBindings collection to define the relationship between a data item and the node that it is binding to. 2番目のコード例では、最初のコード例のサンプル XML データを提供します。The second code example provides sample XML data for the first code example.

次のコード例は、 DataBindingsコレクションを使用して、データ項目とそのバインド先のノードとの間のリレーションシップを定義する方法を示しています。The following code example demonstrates how to use the DataBindings collection to define the relationship between a data item and the node that it is binding to. この例を正しく動作させるには、このコード例の後に記載されているサンプル XML データを、books .xml という名前のファイルにコピーする必要があります。For this example to work correctly, you must copy the sample XML data, provided after this code example, to a file named Book.xml. この例でDataMemberは、バインディングのプロパティだけを指定します。This example specifies only the DataMember property of the binding. Depthプロパティを指定することによって、わずかなパフォーマンスの向上を追加することもできます。A slight performance gain could be added by also specifying the Depth property.


<%@ 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 データを示しています。The following code example provides sample XML data for the preceding example.

<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>  

注釈

コレクションにはTreeNodeBinding 、データ項目とそのバインド先のノードとの間のリレーションシップを定義するオブジェクトが含まれます。 DataBindingsThe DataBindings collection contains TreeNodeBinding objects that define the relationship between a data item and the node that it is binding to. 各データ項目に複数のプロパティ (複数の属性を持つ XML 要素など) が含まれているデータソースにバインドする場合、既定では、データToString項目のメソッドによって返される値がノードに表示されます。When binding to a data source where each data item contains multiple properties (such as an XML element with several attributes), a node displays the value that is returned by the ToString method of the data item, by default. XML 要素の場合、ノードには、ツリーの基になる構造を示す要素名が表示されますが、それ以外の場合はあまり役に立ちません。In the case of an XML element, the node displays the element name, which shows the underlying structure of the tree, but is not very useful otherwise. ノードを特定のデータ項目プロパティにバインドするには、ツリーノードのバインドを指定します。You can bind a node to a specific data item property by specifying tree node bindings.

データ項目とノード間のリレーションシップを定義する場合は、バインドの条件と、オブジェクトのTreeNodeプロパティにバインドする値の両方を指定する必要があります。When defining the relationship between a data item and a node, you must specify both the criteria for binding and the values to bind to the properties of TreeNode object. 条件は、データ項目をノードにバインドする必要があることを示します。The criteria indicate when a data item should be bound to a node. 条件は、ノードの深さ、データメンバー、またはその両方で指定できます。The criteria can be specified with a node depth, a data member, or both. ノードの深さは、バインドされるノードレベルを指定します。A node depth specifies the node level that gets bound. たとえば、ノードの深さを0に指定すると、レベル0のツリー構造内のすべてのノードが、ツリーノードのバインドを使用してバインドされます。For example, if you specify a node depth of 0, all nodes in the tree structure at level 0 are bound using the tree node binding. データメンバーは、基になるデータソースのデータ項目の種類を指定しますが、データソースによって異なる情報を表すことができます。A data member specifies the type of the data item in the underlying data source, but can represent different information depending on the data source. たとえば、XML 要素のデータメンバーは、要素の名前を指定します。For example, the data member for an XML element specifies the name of the element.

競合するTreeNodeBinding複数のオブジェクトが定義されている場合TreeView 、コントロールは次の優先順位でツリーノードのバインドを適用します。If multiple TreeNodeBinding objects are defined that conflict with each other, the TreeView control applies the tree node bindings in the following order of precedence:

  1. 深度とデータメンバーの両方を定義するオブジェクト。TreeNodeBindingThe TreeNodeBinding object that defines both a depth and a data member.

  2. 深さのみを定義するオブジェクト。TreeNodeBindingThe TreeNodeBinding object that defines only the depth.

  3. データメンバーのみを定義するオブジェクト。TreeNodeBindingThe TreeNodeBinding object that defines only the data member.

  4. 深さもデータメンバーも定義しないオブジェクト。TreeNodeBindingThe TreeNodeBinding object that defines neither the depth nor the data member.

同じ優先順位条件を満たす複数のバインドが指定されている場合、コレクション内の最初のバインドが適用されます。If multiple bindings are specified that meet the same precedence criteria, the first binding in the collection is applied.

バインド条件が確立されたら、値にバインドできるTreeNodeオブジェクトのプロパティをバインドできます。Once the binding criteria is established, you can then bind a property of a TreeNode object that can be bound to a value. データ項目の属性またはフィールドにバインドすることも、静的な値を表示することもできます。You can either bind to an attribute or field of a data item or display a static value. TreeNodeオブジェクトのプロパティを値にバインドする方法の詳細についてはTreeNodeBinding、「」を参照してください。For more information on binding the properties of a TreeNode object to a value, see TreeNodeBinding.

DataBindingsコレクションはプログラムによって設定できますが、通常は宣言によって設定されます。Although the DataBindings collection can be programmatically populated, it is usually set declaratively. ツリーノードのバインドを指定するには、まず、 <DataBindings> TreeViewコントロールの開始タグと終了タグの間に開始タグと終了タグを入れ子にします。To specify the tree node bindings, first nest opening and closing <DataBindings> tags between the opening and closing tags of the TreeView control. 次に、 <asp:TreeNodeBinding>指定する各ツリーノードバインド<DataBindings>の開始タグと終了タグの間に要素を配置します。Next, place <asp:TreeNodeBinding> elements between the opening and closing <DataBindings> tags for each tree node binding you want to specify.

AutoGenerateDataBindings trueコントロールのプロパティをに設定することによってデータバインディングを作成するとPopulateOnDemand 、作成されるバインディングではtrue、プロパティがに設定されます。 TreeViewWhen data bindings are created by setting the AutoGenerateDataBindings property of the TreeView control to true, the bindings that are created have the PopulateOnDemand property set to true. 宣言によって作成されるデータPopulateOnDemandバインディングではfalse、プロパティがに設定されます。Data bindings that are created declaratively have the PopulateOnDemand property set to false. 宣言型の構文を使用すると、個々のデータバインディングの動作を制御できます。Using the declarative syntax allows you to control the behavior of individual data bindings.

適用対象

こちらもご覧ください