Compartilhar via


TreeNodeBindingCollection Classe

Definição

Representa uma coleção de objetos TreeNodeBinding no controle TreeView . Essa classe não pode ser herdada.

public ref class TreeNodeBindingCollection sealed : System::Web::UI::StateManagedCollection
public sealed class TreeNodeBindingCollection : System.Web.UI.StateManagedCollection
type TreeNodeBindingCollection = class
    inherit StateManagedCollection
Public NotInheritable Class TreeNodeBindingCollection
Inherits StateManagedCollection
Herança
TreeNodeBindingCollection

Exemplos

Esta seção contém dois exemplos de código. O primeiro exemplo de código demonstra como preencher um TreeNodeBindingCollection objeto declarativamente. O segundo exemplo de código demonstra como popular um TreeNodeBindingCollection objeto programaticamente.

O exemplo de código a seguir demonstra como preencher um TreeNodeBindingCollection objeto declarativamente. Para que este exemplo funcione corretamente, você deve copiar os dados XML localizados no final desta seção para um arquivo 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>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 a seguir demonstra como preencher um TreeNodeBindingCollection objeto programaticamente. Para que este exemplo funcione corretamente, você deve copiar os dados XML de exemplo localizados no final desta seção para um arquivo 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">
<script runat="server">

  void Page_Load(Object sender, EventArgs e)
  {

    // Create a new TreeView control.
    TreeView NewTree = new TreeView();

    // Set the properties of the TreeView control.
    NewTree.ID = "BookTreeView";
    NewTree.DataSourceID = "BookXmlDataSource";

    // Create the tree node binding relationship.

    // Create the root node binding.
    TreeNodeBinding RootBinding = new TreeNodeBinding();
    RootBinding.DataMember = "Book";
    RootBinding.TextField = "Title";

    // Create the parent node binding.
    TreeNodeBinding ParentBinding = new TreeNodeBinding();
    ParentBinding.DataMember = "Chapter";
    ParentBinding.TextField = "Heading";

    // Create the leaf node binding.
    TreeNodeBinding LeafBinding = new TreeNodeBinding();
    LeafBinding.DataMember = "Section";
    LeafBinding.TextField = "Heading";

    // Add bindings to the DataBindings collection.
    NewTree.DataBindings.Add(RootBinding);
    NewTree.DataBindings.Add(ParentBinding); 
    NewTree.DataBindings.Add(LeafBinding);

    // Manually register the event handler for the SelectedNodeChanged event.
    NewTree.SelectedNodeChanged += new EventHandler(this.Node_Change);

    // Add the TreeView control to the Controls collection of the PlaceHolder control.
    ControlPlaceHolder.Controls.Add(NewTree);

  }

  void Node_Change(Object sender, EventArgs e)
  {

    // Retrieve the TreeView control from the Controls collection of the PlaceHolder control.
    TreeView LocalTree = (TreeView)ControlPlaceHolder.FindControl("BookTreeView");

    // Display the selected node.
    Message.Text = "You selected: " + LocalTree.SelectedNode.Text;

  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>TreeView Constructor Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>TreeView Constructor Example</h3>
      
      <asp:PlaceHolder id="ControlPlaceHolder" runat="server">
      </asp:PlaceHolder>
   
      <asp:XmlDataSource id="BookXmlDataSource"  
        DataFile="Book.xml"
        runat="server">
      </asp:XmlDataSource>
      
      <br /><br />
      
      <asp:Label id="Message" runat="server"/>
    
    </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">
<script runat="server">

  Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)

    ' Create a new TreeView control.
    Dim NewTree As New TreeView

    ' Set the properties of the TreeView control.
    NewTree.ID = "BookTreeView"
    NewTree.DataSourceID = "BookXmlDataSource"

    ' Create the tree node binding relationship.

    ' Create the root node binding.
    Dim RootBinding As New TreeNodeBinding
    RootBinding.DataMember = "Book"
    RootBinding.TextField = "Title"

    ' Create the parent node binding.
    Dim ParentBinding As New TreeNodeBinding
    ParentBinding.DataMember = "Chapter"
    ParentBinding.TextField = "Heading"

    ' Create the leaf node binding.
    Dim LeafBinding As New TreeNodeBinding
    LeafBinding.DataMember = "Section"
    LeafBinding.TextField = "Heading"

    ' Add bindings to the DataBindings collection.
    NewTree.DataBindings.Add(RootBinding)
    NewTree.DataBindings.Add(ParentBinding)
    NewTree.DataBindings.Add(LeafBinding)

    ' Manually register the event handler for the SelectedNodeChanged event.
    AddHandler NewTree.SelectedNodeChanged, AddressOf Node_Change

    ' Add the TreeView control to the Controls collection of the PlaceHolder control.
    ControlPlaceHolder.Controls.Add(NewTree)

  End Sub

  Sub Node_Change(ByVal sender As Object, ByVal e As EventArgs)

    ' Retrieve the TreeView control from the Controls collection of the PlaceHolder control.
    Dim LocalTree As TreeView = CType(ControlPlaceHolder.FindControl("BookTreeView"), TreeView)

    ' Display the selected node.
    Message.Text = "You selected: " & LocalTree.SelectedNode.Text

  End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>TreeView Constructor Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>TreeView Constructor Example</h3>
      
      <asp:PlaceHolder id="ControlPlaceHolder" runat="server">
      </asp:PlaceHolder>
   
      <asp:XmlDataSource id="BookXmlDataSource"  
        DataFile="Book.xml"
        runat="server">
      </asp:XmlDataSource>
      
      <br /><br />
      
      <asp:Label id="Message" runat="server"/>
    
    </form>
  </body>
</html>

Veja a seguir os dados XML dos exemplos de código anteriores.

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

Comentários

A TreeNodeBindingCollection classe é usada para armazenar e gerenciar uma coleção de TreeNodeBinding objetos no TreeView controle. O TreeView controle usa a TreeNodeBindingCollection classe para sua DataBindings propriedade.

A DataBindings propriedade contém TreeNodeBinding objetos que definem a relação entre um item de dados e o nó ao qual está vinculando. Ao associar a uma fonte de dados em que cada item de dados contém várias propriedades (como um elemento XML com vários atributos), um nó exibe o valor retornado pelo ToString método do item de dados, por padrão. No caso de um elemento XML, o nó exibe o nome do elemento, que mostra a estrutura subjacente da árvore, mas não é muito útil de outra forma. Você pode associar um nó a uma propriedade de item de dados específica especificando associações de nó de árvore. Embora a DataBindings coleção possa ser populada programaticamente, ela geralmente é definida declarativamente.

Para definir as associações de nó de árvore declarativamente:

  1. Aninhar marcas de abertura e fechamento <DataBindings> entre as marcas de abertura e fechamento do TreeView controle.

  2. Coloque <asp:TreeNodeBinding> elementos entre as marcas de abertura e fechamento <DataBindings> para cada associação de nó de árvore que você deseja especificar.

Você pode gerenciar programaticamente um TreeNodeBindingCollection adicionando e removendo TreeNodeBinding objetos. Para adicionar um TreeNodeBinding objeto à coleção, use o método ou Insert o Add método. Para remover nós da coleção, use o Removemétodo ou StateManagedCollection.Clear o métodoRemoveAt.

A TreeNodeBindingCollection classe dá suporte a várias maneiras de acessar os itens na coleção:

Propriedades

Count

Obtém o número de elementos contidos na coleção StateManagedCollection.

(Herdado de StateManagedCollection)
Item[Int32]

Obtém ou define o TreeNodeBinding objeto no índice especificado no TreeNodeBindingCollection objeto.

Métodos

Add(TreeNodeBinding)

Acrescenta o objeto TreeNodeBinding especificado ao final do objeto TreeNodeBindingCollection.

Clear()

Remove todos os itens da coleção StateManagedCollection.

(Herdado de StateManagedCollection)
Contains(TreeNodeBinding)

Determina se o objeto TreeNodeBinding especificado está na coleção.

CopyTo(Array, Int32)

Copia os elementos da coleção StateManagedCollection para uma matriz, começando em um índice de matriz específico.

(Herdado de StateManagedCollection)
CopyTo(TreeNodeBinding[], Int32)

Copia todos os itens do objeto TreeNodeBindingCollection para uma matriz unidimensional compatível de objetos TreeNodeBinding, começando no índice especificado na matriz de destino.

CreateKnownType(Int32)

Quando substituído em uma classe derivada, cria uma instância de uma classe que implementa IStateManager. O tipo de objeto criado se baseia no membro especificado da coleção retornada pelo método GetKnownTypes().

(Herdado de StateManagedCollection)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetEnumerator()

Retorna um iterador que itera por meio da coleção StateManagedCollection.

(Herdado de StateManagedCollection)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetKnownTypes()

Quando substituído em uma classe derivada, obtém uma matriz de tipos IStateManager que a coleção StateManagedCollection pode conter.

(Herdado de StateManagedCollection)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IndexOf(TreeNodeBinding)

Determina o índice do objeto TreeNodeBinding especificado na coleção.

Insert(Int32, TreeNodeBinding)

Insere especificado TreeNodeBinding objeto para o TreeNodeBindingCollection objeto no local do índice especificado.

MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
OnClear()

Quando substituído em uma classe derivada, executa o trabalho adicional antes do método Clear() remover todos os itens da coleção.

(Herdado de StateManagedCollection)
OnClearComplete()

Quando substituído em uma classe derivada, executa o trabalho adicional após o método Clear() terminar a remoção de todos os itens da coleção.

(Herdado de StateManagedCollection)
OnInsert(Int32, Object)

Quando substituído em uma classe derivada, executa o trabalho adicional antes do método IList.Insert(Int32, Object) ou IList.Add(Object) adicionar um item à coleção.

(Herdado de StateManagedCollection)
OnInsertComplete(Int32, Object)

Quando substituído em uma classe derivada, executa o trabalho adicional após o método IList.Insert(Int32, Object) ou IList.Add(Object) adicionar um item à coleção.

(Herdado de StateManagedCollection)
OnRemove(Int32, Object)

Quando substituído em uma classe derivada, executa o trabalho adicional antes do método IList.Remove(Object) ou IList.RemoveAt(Int32) remover o item especificado da coleção.

(Herdado de StateManagedCollection)
OnRemoveComplete(Int32, Object)

Quando substituído em uma classe derivada, executa o trabalho adicional após o método IList.Remove(Object) ou IList.RemoveAt(Int32) remover o item especificado da coleção.

(Herdado de StateManagedCollection)
OnValidate(Object)

Quando substituído em uma classe derivada, valida um elemento da coleção StateManagedCollection.

(Herdado de StateManagedCollection)
Remove(TreeNodeBinding)

Remove o objeto TreeNodeBinding especificado do objeto TreeNodeBindingCollection.

RemoveAt(Int32)

Remove o objeto TreeNodeBinding no local do índice especificado do objeto TreeNodeBindingCollection.

SetDirty()

Força a coleção StateManagedCollection inteira a ser serializada no estado de exibição.

(Herdado de StateManagedCollection)
SetDirtyObject(Object)

Quando substituído em uma classe derivada, instrui um object contido na coleção a registrar seu estado inteiro para o estado de exibição, em vez de registrar apenas informações alteradas.

(Herdado de StateManagedCollection)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Implantações explícitas de interface

ICollection.Count

Obtém o número de elementos contidos na coleção StateManagedCollection.

(Herdado de StateManagedCollection)
ICollection.IsSynchronized

Obtém um valor que indica se a coleção StateManagedCollection é sincronizada (thread-safe). Este método retorna false em todos os casos.

(Herdado de StateManagedCollection)
ICollection.SyncRoot

Obtém um objeto que pode ser usado para sincronizar o acesso à coleção StateManagedCollection. Este método retorna null em todos os casos.

(Herdado de StateManagedCollection)
IEnumerable.GetEnumerator()

Retorna um iterador que itera por meio da coleção StateManagedCollection.

(Herdado de StateManagedCollection)
IList.Add(Object)

Adiciona um item à coleção StateManagedCollection.

(Herdado de StateManagedCollection)
IList.Clear()

Remove todos os itens da coleção StateManagedCollection.

(Herdado de StateManagedCollection)
IList.Contains(Object)

Determina se a coleção StateManagedCollection contém um valor específico.

(Herdado de StateManagedCollection)
IList.IndexOf(Object)

Determina o índice de um item especificado na coleção StateManagedCollection.

(Herdado de StateManagedCollection)
IList.Insert(Int32, Object)

Insere um item na coleção StateManagedCollection no índice especificado.

(Herdado de StateManagedCollection)
IList.IsFixedSize

Obtém um valor que indica se a coleção StateManagedCollection tem um tamanho fixo. Este método retorna false em todos os casos.

(Herdado de StateManagedCollection)
IList.IsReadOnly

Obtém um valor que indica se a coleção StateManagedCollection é somente leitura.

(Herdado de StateManagedCollection)
IList.Item[Int32]

Obtém o elemento IStateManager no índice especificado.

(Herdado de StateManagedCollection)
IList.Remove(Object)

Remove a primeira ocorrência do objeto especificado da coleção StateManagedCollection.

(Herdado de StateManagedCollection)
IList.RemoveAt(Int32)

Remove o elemento IStateManager no índice especificado.

(Herdado de StateManagedCollection)
IStateManager.IsTrackingViewState

Obtém um valor que indica se a coleção StateManagedCollection está salvando alterações no estado de exibição.

(Herdado de StateManagedCollection)
IStateManager.LoadViewState(Object)

Restaura o estado de exibição salvo anteriormente da coleção StateManagedCollection e o itens IStateManager que ele contém.

(Herdado de StateManagedCollection)
IStateManager.SaveViewState()

Salva as alterações na coleção StateManagedCollection e cada objeto IStateManager que ela contém, desde o momento em que a página foi postada novamente no servidor.

(Herdado de StateManagedCollection)
IStateManager.TrackViewState()

Faz com que a coleção StateManagedCollection e os objetos IStateManager que ela contém controlem as alterações realizadas no estado de exibição, para que elas possam ser mantidas em todas as solicitações para a mesma página.

(Herdado de StateManagedCollection)

Métodos de Extensão

Cast<TResult>(IEnumerable)

Converte os elementos de um IEnumerable para o tipo especificado.

OfType<TResult>(IEnumerable)

Filtra os elementos de um IEnumerable com base em um tipo especificado.

AsParallel(IEnumerable)

Habilita a paralelização de uma consulta.

AsQueryable(IEnumerable)

Converte um IEnumerable em um IQueryable.

Aplica-se a

Confira também