TreeNodeBinding.DataMember Egenskap

Definition

Hämtar eller anger värdet som ska matchas mot en Type egenskap för ett dataobjekt för att avgöra om trädnodbindningen ska tillämpas.

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

Egenskapsvärde

Det värde som ska matchas mot ett dataobjekts Type egenskap för att avgöra om trädnodbindningen ska tillämpas. Standardvärdet är en tom sträng (""), som anger att egenskapen DataMember inte har angetts.

Exempel

Det här avsnittet innehåller två kodexempel. Det första kodexemplet visar hur du använder DataMember egenskapen för att ange vilket XML-element som ska bindas till en nod. Det andra kodexemplet innehåller XML-exempeldata för det första kodexemplet.

Följande kodexempel visar hur du använder DataMember egenskapen för att ange vilket XML-element som ska bindas till en nod. För att det här kodexemplet ska fungera korrekt måste du kopiera XML-exempeldata, som tillhandahålls efter det här kodexemplet, till en fil med namnet 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>

Följande kodexempel innehåller XML-exempeldata för föregående kodexempel.

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

Kommentarer

En datamedlem anger typen av dataobjekt i den underliggande datakällan, men kan representera olika information beroende på datakällan. Varje dataobjekt i en hierarkisk datakälla (representeras av ett System.Web.UI.IHierarchyData objekt) exponerar en IHierarchyData.Type egenskap som anger typen av dataobjekt. Datamedlemmen för ett XML-element anger till exempel namnet på elementet. När en datakälla innehåller flera typer av dataobjekt anger datamedlemmen vilken typ av dataobjekt som ska användas. Följande TreeNodeBinding deklaration binder elementen i <Book> en XmlDataSource kontroll till alla noder i trädet, oavsett plats i hierarkin:

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

När du skapar ett TreeNodeBinding objekt måste du ange villkoret för bindning. Villkoret anger när ett dataobjekt ska bindas till en nod. Du kan ange Depth egenskapen eller DataMember eller båda egenskaperna. Det finns en liten prestandaökning genom att ange båda.

När bindningsvillkoren har upprättats kan du sedan binda en egenskap för ett TreeNode objekt som kan bindas till ett värde. Du kan binda till ett fält i ett dataobjekt eller till ett statiskt värde. När det är bundet till ett statiskt värde delar alla TreeNode objekt som TreeNodeBinding objektet tillämpas på samma värde.

Värdet för den här egenskapen lagras i visningstillstånd.

Gäller för

Se även