次の方法で共有


TreeNodeBinding.DataMember プロパティ

定義

ツリー ノード バインディングを適用するかどうかを判断するために、データ項目の Type プロパティと照合する値を取得または設定します。

public:
 property System::String ^ DataMember { System::String ^ get(); void set(System::String ^ value); };
public string DataMember { get; set; }
member this.DataMember : string with get, set
Public Property DataMember As String

プロパティ値

String

ツリー ノード バインディングを適用するかどうかを判断するために、データ項目の Type プロパティと照合する値。 既定値は空の文字列 ("") です。DataMember プロパティが設定されていないことを示します。

このセクションには、2 つのコード例が含まれています。 最初のコード例では、プロパティを使用 DataMember して、ノードにバインドする XML 要素を指定する方法を示します。 2 番目のコード例では、最初のコード例のサンプル XML データを提供します。

次のコード例では、プロパティを使用 DataMember して、ノードにバインドする XML 要素を指定する方法を示します。 このコード例を正しく機能させるには、このコード例の後に提供されるサンプル XML データを、Book.xmlという名前のファイルにコピーする必要があります。


<%@ 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>TreeViewBinding DataMember and Depth Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>TreeViewBinding DataMember and Depth Example</h3>
    
      <!-- Set the DataMember and Depth properties of a -->
      <!-- TreeNodeBinding object declaratively. You  -->
      <!-- can render items at the same node level    -->
      <!-- by setting each item's Depth property to   -->
      <!-- the same value.                -->
      <asp:TreeView id="BookTreeView" 
        DataSourceID="BookXmlDataSource"
        runat="server">
          
        <DataBindings>
          <asp:TreeNodeBinding DataMember="Book" Depth="0" TextField="Title"/>
          <asp:TreeNodeBinding DataMember="Chapter" Depth="1" TextField="Heading"/>
          <asp:TreeNodeBinding DataMember="Appendix" Depth="1" 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>TreeViewBinding DataMember and Depth Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>TreeViewBinding DataMember and Depth Example</h3>
    
      <!-- Set the DataMember and Depth properties of a -->
      <!-- TreeNodeBinding object declaratively. You  -->
      <!-- can render items at the same node level    -->
      <!-- by setting each item's Depth property to   -->
      <!-- the same value.                -->
      <asp:TreeView id="BookTreeView" 
        DataSourceID="BookXmlDataSource"
        runat="server">
          
        <DataBindings>
          <asp:TreeNodeBinding DataMember="Book" Depth="0" TextField="Title"/>
          <asp:TreeNodeBinding DataMember="Chapter" Depth="1" TextField="Heading"/>
          <asp:TreeNodeBinding DataMember="Appendix" Depth="1" 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>  
    <Appendix Heading="Appendix A">  
    </Appendix>  
</Book>  

注釈

データ メンバーは、基になるデータ ソース内のデータ項目の種類を指定しますが、データ ソースに応じて異なる情報を表すことができます。 階層データ ソース (オブジェクトによって System.Web.UI.IHierarchyData 表される) 内の各データ項目は、データ項目の種類を IHierarchyData.Type 指定するプロパティを公開します。 たとえば、XML 要素のデータ メンバーは、要素の名前を指定します。 データ ソースに複数のデータ項目型が含まれている場合、データ メンバーは使用するデータ項目の種類を指定します。 次 TreeNodeBinding の宣言は、 <Book> 階層内の XmlDataSource 場所に関係なく、ツリー内のすべてのノードにコントロールの要素をバインドします。

<asp:TreeNodeBinding DataMember="Book" TextField="Title" ValueField= "ISBN">  

オブジェクトを TreeNodeBinding 作成するときは、バインドの条件を指定する必要があります。 条件は、データ項目をノードにバインドするタイミングを示します。 またはDataMemberプロパティ、または両方のプロパティをDepth指定できます。 両方を指定することで、パフォーマンスが若干向上します。

バインド条件が確立されたら、値にバインドできるオブジェクトの TreeNode プロパティをバインドできます。 データ項目のフィールドまたは静的な値にバインドできます。 静的な値にバインドすると、そのオブジェクトがTreeNodeBinding適用されるすべてのTreeNodeオブジェクトが同じ値を共有します。

このプロパティの値は、ビューステートに格納されます。

適用対象

こちらもご覧ください