TreeView.DataBindings Propriedade

Definição

Obtém uma coleção de TreeNodeBinding objetos que definem a relação entre um elemento de dados e o nó ao qual está ligado.

public:
 property System::Web::UI::WebControls::TreeNodeBindingCollection ^ DataBindings { System::Web::UI::WebControls::TreeNodeBindingCollection ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public System.Web.UI.WebControls.TreeNodeBindingCollection DataBindings { get; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.DataBindings : System.Web.UI.WebControls.TreeNodeBindingCollection
Public ReadOnly Property DataBindings As TreeNodeBindingCollection

Valor de Propriedade

A TreeNodeBindingCollection que representa a relação entre um elemento de dados e o nó ao qual está a ser ligado.

Atributos

Exemplos

Esta seção contém dois exemplos de código. O primeiro exemplo de código demonstra como usar a DataBindings coleção para definir a relação entre um elemento de dados e o nó ao qual este está a ligar. 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 DataBindings coleção para definir a relação entre um elemento de dados e o nó ao qual está a ligar. Para que este exemplo funcione corretamente, deve copiar os dados XML de amostra, fornecidos após este exemplo de código, para um ficheiro chamado Book.xml. Este exemplo especifica apenas a DataMember propriedade da ligação. Um ligeiro ganho de desempenho poderia ser adicionado especificando também a Depth propriedade.


<%@ 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>TreeView XML Data Binding Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>TreeView XML Data Binding Example</h3>
    
      <asp:TreeView id="BookTreeView" 
        DataSourceID="BookXmlDataSource"
        runat="server">
         
        <DataBindings>
          <asp:TreeNodeBinding DataMember="Book" TextField="Title"/>
          <asp:TreeNodeBinding DataMember="Chapter" TextField="Heading"/>
          <asp:TreeNodeBinding DataMember="Section" 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>TreeView XML Data Binding Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>TreeView XML Data Binding Example</h3>
    
      <asp:TreeView id="BookTreeView" 
        DataSourceID="BookXmlDataSource"
        runat="server">
         
        <DataBindings>
          <asp:TreeNodeBinding DataMember="Book" TextField="Title"/>
          <asp:TreeNodeBinding DataMember="Chapter" TextField="Heading"/>
          <asp:TreeNodeBinding DataMember="Section" 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 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>
</Book>

Observações

A DataBindings coleção contém TreeNodeBinding objetos que definem a relação entre um elemento de dados e o nó ao qual este está ligado. Ao ligar a uma fonte de dados onde cada elemento contém múltiplas propriedades (como um elemento XML com vários atributos), um nó apresenta o valor que é devolvido pelo ToString método do elemento de dados, por defeito. No caso de um elemento XML, o nó apresenta o nome do elemento, que mostra a estrutura subjacente da árvore, mas não é muito útil de outra forma. Pode associar um nó a uma propriedade específica de um elemento de dados especificando ligações de nós em árvore.

Ao definir a relação entre um elemento de dados e um nó, deve especificar tanto os critérios de ligação como os valores a associar às propriedades do TreeNode objeto. Os critérios indicam quando um elemento de dados deve ser associado a um nó. Os critérios podem ser especificados com uma profundidade de nó, um elemento de dados, ou ambos. A profundidade de um nó especifica o nível do nó que é limitado. Por exemplo, se especificar uma profundidade de nó de 0, todos os nós da estrutura em árvore ao nível 0 são limitados usando a ligação de nós em árvore. 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. Por exemplo, o membro de dados de um elemento XML especifica o nome do elemento.

Se estiverem definidos múltiplos TreeNodeBinding objetos que entram em conflito, o controlo TreeView aplica as ligações de nós em árvore na seguinte ordem de precedência:

  1. O TreeNodeBinding objeto que define tanto uma profundidade como um elemento de dados.

  2. O TreeNodeBinding objeto que define apenas a profundidade.

  3. O TreeNodeBinding objeto que define apenas o elemento de dados.

  4. O TreeNodeBinding objeto que não define nem a profundidade nem o elemento de dados.

Se forem especificadas várias encadernações que cumpram os mesmos critérios de precedência, aplica-se a primeira encadernação na coleção.

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 associar a um atributo ou campo de um elemento de dados ou mostrar um valor estático. Para mais informações sobre como vincular as propriedades de um TreeNode objeto a um valor, veja TreeNodeBinding.

Embora a DataBindings coleção possa ser preenchida programaticamente, normalmente é definida de forma declarativa. Para especificar as ligações de nós em árvore, primeiro as etiquetas de abertura e fechamento <DataBindings> do ninho entre as etiquetas de abertura e fecho do TreeView controlo. De seguida, coloque <asp:TreeNodeBinding> elementos entre as etiquetas de abertura e fecho <DataBindings> para cada ligação de nós de árvore que pretende especificar.

Quando as ligações de dados são criadas definindo a AutoGenerateDataBindings propriedade do TreeView controlo para true, as ligações criadas têm a PopulateOnDemand propriedade definida para true. As ligações de dados criadas declarativamente têm a PopulateOnDemand propriedade definida como false. Usar a sintaxe declarativa permite-lhe controlar o comportamento das ligações individuais de dados.

Aplica-se a

Ver também