Freigeben über


TreeNodeBinding.DataMember Eigenschaft

Definition

Ruft den mit einer Type-Eigenschaft für ein Datenelement abzugleichenden Wert ab, damit ermittelt werden kann, ob die Strukturknotenbindung angewendet werden soll, oder legt diesen Wert fest.

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

Eigenschaftswert

String

Der mit einer Type-Eigenschaft eines Datenelements abzugleichende Wert, mit dem ermittelt wird, ob die Strukturknotenbindung angewendet werden soll. Der Standardwert ist eine leere Zeichenfolge (""), die angibt, dass die DataMember-Eigenschaft nicht festgelegt ist.

Beispiele

Dieser Abschnitt enthält zwei Codebeispiele. Im ersten Codebeispiel wird veranschaulicht, wie die DataMember Eigenschaft verwendet wird, um anzugeben, welches XML-Element an einen Knoten gebunden werden soll. Im zweiten Codebeispiel werden Beispiel-XML-Daten für das erste Codebeispiel bereitgestellt.

Im folgenden Codebeispiel wird veranschaulicht, wie die DataMember Eigenschaft verwendet wird, um anzugeben, welches XML-Element an einen Knoten gebunden werden soll. Damit dieses Codebeispiel ordnungsgemäß funktioniert, müssen Sie die Beispiel-XML-Daten kopieren, die nach diesem Codebeispiel angegeben wurden, in eine Datei mit dem Namen 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>

Im folgenden Codebeispiel werden Beispiel-XML-Daten für das vorherige Codebeispiel bereitgestellt.

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

Hinweise

Ein Datenelement gibt den Typ des Datenelements in der zugrunde liegenden Datenquelle an, kann jedoch je nach Datenquelle unterschiedliche Informationen darstellen. Jedes Datenelement in einer hierarchischen Datenquelle (dargestellt durch ein System.Web.UI.IHierarchyData Objekt) macht eine IHierarchyData.Type Eigenschaft verfügbar, die den Typ des Datenelements angibt. Beispielsweise gibt das Datenelement für ein XML-Element den Namen des Elements an. Wenn eine Datenquelle mehrere Datentypen enthält, gibt das Datenelementelement an, welches Datentyp verwendet werden soll. Die folgende TreeNodeBinding Deklaration bindet die <Book> Elemente eines XmlDataSource Steuerelements unabhängig von der Position in der Hierarchie an alle Knoten in der Struktur:

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

Beim Erstellen eines TreeNodeBinding Objekts müssen Sie die Kriterien für die Bindung angeben. Die Kriterien geben an, wann ein Datenelement an einen Knoten gebunden werden soll. Sie können die Depth Eigenschaft oder DataMember beide Eigenschaften angeben. Es gibt einen leichten Leistungsgewinn, indem beide angegeben werden.

Nachdem die Bindungskriterien festgelegt wurden, können Sie dann eine Eigenschaft eines TreeNode Objekts binden, das an einen Wert gebunden werden kann. Sie können an ein Feld eines Datenelements oder an einen statischen Wert binden. Wenn sie an einen statischen Wert gebunden sind, teilen alle TreeNode Objekte, auf die das TreeNodeBinding Objekt angewendet wird, denselben Wert.

Der Wert dieser Eigenschaft wird im Ansichtszustand gespeichert.

Gilt für

Siehe auch