Partilhar via


TreeNodeBindingCollection Classe

Definição

Representa uma coleção de TreeNodeBinding objetos no TreeView controle. 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 preencher 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 objetos que definem TreeNodeBinding 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

Nome Description
Count

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

(Herdado de StateManagedCollection)
Item[Int32]

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

Métodos

Nome Description
Add(TreeNodeBinding)

Acrescenta o objeto especificado TreeNodeBinding ao final do TreeNodeBindingCollection objeto.

Clear()

Remove todos os itens da StateManagedCollection coleção.

(Herdado de StateManagedCollection)
Contains(TreeNodeBinding)

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

CopyTo(Array, Int32)

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

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

Copia todos os itens do TreeNodeBindingCollection objeto para uma matriz unidimensional compatível de TreeNodeBinding objetos, 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 baseia-se no membro especificado da coleção retornada pelo GetKnownTypes() método.

(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 StateManagedCollection coleção.

(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 IStateManager tipos que a StateManagedCollection coleção pode conter.

(Herdado de StateManagedCollection)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IndexOf(TreeNodeBinding)

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

Insert(Int32, TreeNodeBinding)

Insere o objeto especificado TreeNodeBinding no TreeNodeBindingCollection objeto no local de índice especificado.

MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
OnClear()

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

(Herdado de StateManagedCollection)
OnClearComplete()

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

(Herdado de StateManagedCollection)
OnInsert(Int32, Object)

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

(Herdado de StateManagedCollection)
OnInsertComplete(Int32, Object)

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

(Herdado de StateManagedCollection)
OnRemove(Int32, Object)

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

(Herdado de StateManagedCollection)
OnRemoveComplete(Int32, Object)

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

(Herdado de StateManagedCollection)
OnValidate(Object)

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

(Herdado de StateManagedCollection)
Remove(TreeNodeBinding)

Remove o objeto especificado TreeNodeBinding do TreeNodeBindingCollection objeto.

RemoveAt(Int32)

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

SetDirty()

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

(Herdado de StateManagedCollection)
SetDirtyObject(Object)

Quando substituído em uma classe derivada, instrui um object contido pela coleção a registrar todo o seu estado para exibir o estado, em vez de gravar apenas informações de alteração.

(Herdado de StateManagedCollection)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Implantações explícitas de interface

Nome Description
ICollection.Count

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

(Herdado de StateManagedCollection)
ICollection.IsSynchronized

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

(Herdado de StateManagedCollection)
ICollection.SyncRoot

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

(Herdado de StateManagedCollection)
IEnumerable.GetEnumerator()

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

(Herdado de StateManagedCollection)
IList.Add(Object)

Adiciona um item à StateManagedCollection coleção.

(Herdado de StateManagedCollection)
IList.Clear()

Remove todos os itens da StateManagedCollection coleção.

(Herdado de StateManagedCollection)
IList.Contains(Object)

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

(Herdado de StateManagedCollection)
IList.IndexOf(Object)

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

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

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

(Herdado de StateManagedCollection)
IList.IsFixedSize

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

(Herdado de StateManagedCollection)
IList.IsReadOnly

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

(Herdado de StateManagedCollection)
IList.Item[Int32]

Obtém o IStateManager elemento no índice especificado.

(Herdado de StateManagedCollection)
IList.Remove(Object)

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

(Herdado de StateManagedCollection)
IList.RemoveAt(Int32)

Remove o IStateManager elemento no índice especificado.

(Herdado de StateManagedCollection)
IStateManager.IsTrackingViewState

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

(Herdado de StateManagedCollection)
IStateManager.LoadViewState(Object)

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

(Herdado de StateManagedCollection)
IStateManager.SaveViewState()

Salva as alterações na StateManagedCollection coleção e em cada IStateManager objeto 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 StateManagedCollection coleção e cada um dos IStateManager objetos que ela contém acompanhem as alterações em seu estado de exibição para que possam ser mantidas entre solicitações para a mesma página.

(Herdado de StateManagedCollection)

Métodos de Extensão

Nome Description
AsParallel(IEnumerable)

Habilita a paralelização de uma consulta.

AsQueryable(IEnumerable)

Converte um IEnumerable em um IQueryable.

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.

Aplica-se a

Confira também