TreeNodeBinding.DataMember Propriedade

Definição

Obtém ou define o valor para corresponder a uma Type propriedade de um elemento de dados para determinar se deve aplicar a ligação ao nó da árvore.

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

Valor de Propriedade

O valor a comparar com a propriedade de Type um elemento de dados para determinar se deve aplicar a ligação ao nó da árvore. O padrão é uma cadeia vazia (""), o que indica que a DataMember propriedade não está definida.

Exemplos

Esta seção contém dois exemplos de código. O primeiro exemplo de código demonstra como usar a DataMember propriedade para especificar qual elemento XML ligar a um nó. O segundo exemplo de código fornece dados XML de exemplo para o primeiro exemplo de código.

O exemplo de código seguinte demonstra como usar a DataMember propriedade para especificar qual elemento XML atribuir a um nó. Para que este exemplo de código funcione corretamente, deve copiar os dados XML de exemplo, fornecidos após este exemplo de código, para um ficheiro chamado 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>

O exemplo de código seguinte fornece dados XML de exemplo para o exemplo de código anterior.

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

Observações

Um membro de dados especifica o tipo do elemento de dados na fonte de dados subjacente, mas pode representar informação diferente dependendo da fonte de dados. Cada elemento de dados numa fonte de dados hierárquica (representada por um System.Web.UI.IHierarchyData objeto) expõe uma IHierarchyData.Type propriedade que especifica o tipo do item de dados. Por exemplo, o membro de dados de um elemento XML especifica o nome do elemento. Quando uma fonte de dados contém vários tipos de itens de dados, o membro de dados especifica qual o tipo de elemento de dados a utilizar. A seguinte TreeNodeBinding declaração vincula os <Book> elementos de um XmlDataSource controlo a todos os nós da árvore, independentemente da localização na hierarquia:

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

Ao criar um TreeNodeBinding objeto, deve especificar os critérios de encadernação. Os critérios indicam quando um elemento de dados deve ser associado a um nó. Pode especificar a Depth propriedade ou DataMember ambas. Há um ligeiro ganho de desempenho ao especificar ambos.

Uma vez estabelecido o critério de ligação, pode então vincular uma propriedade de um TreeNode objeto que pode ser atribuída a um valor. Pode atribuir a um campo de um elemento de dados ou a um valor estático. Quando atribuídos a um valor estático, todos os TreeNode objetos a que o TreeNodeBinding objeto é aplicado partilham o mesmo valor.

O valor desta propriedade é armazenado no estado de visualização.

Aplica-se a

Ver também