TreeNodeBinding.DataMember Właściwość

Definicja

Pobiera lub ustawia wartość zgodną z właściwością Type elementu danych, aby określić, czy zastosować powiązanie węzła drzewa.

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

Wartość właściwości

String

Wartość zgodna z właściwością elementu Type danych w celu określenia, czy należy zastosować powiązanie węzła drzewa. Wartość domyślna to pusty ciąg (""), który wskazuje, że właściwość nie jest ustawiona DataMember .

Przykłady

Ten rozdział zawiera dwa przykłady kodu. W pierwszym przykładzie kodu pokazano, jak za pomocą DataMember właściwości określić, który element XML ma być powiązany z węzłem. Drugi przykład kodu zawiera przykładowe dane XML dla pierwszego przykładu kodu.

W poniższym przykładzie kodu pokazano, jak za pomocą DataMember właściwości określić, który element XML ma być powiązany z węzłem. Aby ten przykład kodu działał poprawnie, należy skopiować przykładowe dane XML dostarczone po tym przykładzie kodu do pliku o nazwie 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>

Poniższy przykład kodu zawiera przykładowe dane XML dla poprzedniego przykładu kodu.

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

Uwagi

Element członkowski danych określa typ elementu danych w bazowym źródle danych, ale może reprezentować różne informacje w zależności od źródła danych. Każdy element danych w hierarchicznym źródle danych (reprezentowanym System.Web.UI.IHierarchyData przez obiekt) uwidacznia IHierarchyData.Type właściwość, która określa typ elementu danych. Na przykład element członkowski danych elementu XML określa nazwę elementu. Gdy źródło danych zawiera wiele typów elementów danych, element członkowski danych określa typ elementu danych do użycia. Następująca TreeNodeBinding deklaracja wiąże <Book> elementy kontrolki XmlDataSource ze wszystkimi węzłami w drzewie, niezależnie od lokalizacji w hierarchii:

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

Podczas tworzenia TreeNodeBinding obiektu należy określić kryteria powiązania. Kryteria wskazują, kiedy element danych powinien być powiązany z węzłem. Można określić Depth właściwość lub DataMember albo obie właściwości. Istnieje niewielki wzrost wydajności, określając oba te elementy.

Po ustanowieniu kryteriów powiązania można powiązać właściwość TreeNode obiektu, który może być powiązany z wartością. Można powiązać z polem elementu danych lub z wartością statyczną. Po powiązaniu z wartością statyczną wszystkie TreeNode obiekty, do których TreeNodeBinding zastosowano obiekt, mają taką samą wartość.

Wartość tej właściwości jest przechowywana w stanie widoku.

Dotyczy

Zobacz też