TreeNodeBindingCollection Clase

Definición

Representa una colección de objetos TreeNodeBinding del control TreeView . Esta clase no puede heredarse.

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

Ejemplos

Esta sección contiene dos ejemplos de código. En el primer ejemplo de código se muestra cómo rellenar un TreeNodeBindingCollection objeto mediante declaración. En el segundo ejemplo de código se muestra cómo rellenar un TreeNodeBindingCollection objeto mediante programación.

En el ejemplo de código siguiente se muestra cómo rellenar un TreeNodeBindingCollection objeto mediante declaración. Para que este ejemplo funcione correctamente, debe copiar los datos XML que se encuentran al final de esta sección en un archivo denominado 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>

En el ejemplo de código siguiente se muestra cómo rellenar un TreeNodeBindingCollection objeto mediante programación. Para que este ejemplo funcione correctamente, debe copiar los datos XML de ejemplo que se encuentran al final de esta sección en un archivo denominado 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>

A continuación se muestran los datos XML de los ejemplos 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>  

Comentarios

La TreeNodeBindingCollection clase se usa para almacenar y administrar una colección de TreeNodeBinding objetos en el TreeView control . El TreeView control usa la TreeNodeBindingCollection clase para su DataBindings propiedad .

La DataBindings propiedad contiene TreeNodeBinding objetos que definen la relación entre un elemento de datos y el nodo al que está enlazando. Cuando se enlaza a un origen de datos donde cada elemento de datos contiene varias propiedades (como un elemento XML con varios atributos), un nodo muestra el valor devuelto por el ToString método del elemento de datos de forma predeterminada. En el caso de un elemento XML, el nodo muestra el nombre del elemento, que muestra la estructura subyacente del árbol, pero no es muy útil de lo contrario. Puede enlazar un nodo a una propiedad de elemento de datos específica especificando enlaces de nodo de árbol. Aunque la DataBindings colección se puede rellenar mediante programación, normalmente se establece mediante declaración.

Para establecer los enlaces de nodo de árbol declarativamente:

  1. Anida las etiquetas de apertura y cierre <DataBindings> entre las etiquetas de apertura y cierre del TreeView control.

  2. Coloque <asp:TreeNodeBinding> los elementos entre las etiquetas de apertura y cierre <DataBindings> de cada enlace de nodo de árbol que desee especificar.

Puede administrar mediante programación un TreeNodeBindingCollection elemento agregando y quitando TreeNodeBinding objetos. Para agregar un TreeNodeBinding objeto a la colección, use el Add método o Insert . Para quitar nodos de la colección, use el Removemétodo , RemoveAto StateManagedCollection.Clear .

La TreeNodeBindingCollection clase admite varias maneras de acceder a los elementos de la colección:

  • Use el Item[] indexador para recuperar un TreeNode objeto directamente en un índice específico de base cero.

  • Use el StateManagedCollection.GetEnumerator método para crear un enumerador que se pueda usar para recorrer en iteración la colección.

Propiedades

Count

Obtiene el número de elementos incluidos en la colección StateManagedCollection.

(Heredado de StateManagedCollection)
Item[Int32]

Obtiene o establece el objeto TreeNodeBinding situado en el índice especificado del objeto TreeNodeBindingCollection.

Métodos

Add(TreeNodeBinding)

Agrega el objeto TreeNodeBinding especificado al final del objeto TreeNodeBindingCollection.

Clear()

Quita todos los elementos de la colección StateManagedCollection.

(Heredado de StateManagedCollection)
Contains(TreeNodeBinding)

Determina si el objeto TreeNodeBinding especificado está en la colección.

CopyTo(Array, Int32)

Copia los elementos de la colección StateManagedCollection en una matriz a partir de un índice de matriz concreto.

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

Copia todos los elementos del objeto TreeNodeBindingCollection en una matriz unidimensional compatible de objetos TreeNodeBinding, empezando por el índice especificado de la matriz de destino.

CreateKnownType(Int32)

Cuando se reemplaza en una clase derivada, crea una instancia de una clase que implementa IStateManager. El tipo de objeto creado se basa en el miembro especificado de la colección devuelto por el método GetKnownTypes().

(Heredado de StateManagedCollection)
Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetEnumerator()

Devuelve un iterador que permite recorrer en iteración la colección StateManagedCollection.

(Heredado de StateManagedCollection)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetKnownTypes()

Cuando se reemplaza en una clase derivada, obtiene una matriz de tipos IStateManager que la colección StateManagedCollection puede contener.

(Heredado de StateManagedCollection)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
IndexOf(TreeNodeBinding)

Determina el índice del objeto TreeNodeBinding especificado en la colección.

Insert(Int32, TreeNodeBinding)

Inserta el objeto TreeNodeBinding especificado en el objeto TreeNodeBindingCollection en la ubicación de índice especificada.

MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
OnClear()

Cuando se reemplaza en una clase derivada, realiza un trabajo adicional antes de que el método Clear() quite todos los elementos de la colección.

(Heredado de StateManagedCollection)
OnClearComplete()

Cuando se reemplaza en una clase derivada, realiza un trabajo adicional después de que el método Clear() termine de quitar todos los elementos de la colección.

(Heredado de StateManagedCollection)
OnInsert(Int32, Object)

Cuando se reemplaza en una clase derivada, realiza un trabajo adicional antes de que los métodos IList.Insert(Int32, Object) o IList.Add(Object) agreguen un elemento a la colección.

(Heredado de StateManagedCollection)
OnInsertComplete(Int32, Object)

Cuando se reemplaza en una clase derivada, realiza un trabajo adicional después de que los métodos IList.Insert(Int32, Object) o IList.Add(Object) agreguen un elemento a la colección.

(Heredado de StateManagedCollection)
OnRemove(Int32, Object)

Cuando se reemplaza en una clase derivada, realiza un trabajo adicional antes de que los métodos IList.Remove(Object) o IList.RemoveAt(Int32) quiten el elemento especificado de la colección.

(Heredado de StateManagedCollection)
OnRemoveComplete(Int32, Object)

Cuando se reemplaza en una clase derivada, realiza un trabajo adicional después de que los métodos IList.Remove(Object) o IList.RemoveAt(Int32) quiten el elemento especificado de la colección.

(Heredado de StateManagedCollection)
OnValidate(Object)

Cuando se reemplaza en una clase derivada, valida un elemento de la colección StateManagedCollection.

(Heredado de StateManagedCollection)
Remove(TreeNodeBinding)

Quita el objeto TreeNodeBinding especificado del objeto TreeNodeBindingCollection.

RemoveAt(Int32)

Quita el objeto TreeNodeBinding de la ubicación de índice especificada del objeto TreeNodeBindingCollection.

SetDirty()

Obliga a serializar la colección StateManagedCollection completa en el estado de vista.

(Heredado de StateManagedCollection)
SetDirtyObject(Object)

Cuando se reemplaza en una clase derivada, indica a un object incluido en la colección que registre su estado completo en el estado de vista, en lugar de registrar solo la información correspondiente a los cambios.

(Heredado de StateManagedCollection)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Implementaciones de interfaz explícitas

ICollection.Count

Obtiene el número de elementos incluidos en la colección StateManagedCollection.

(Heredado de StateManagedCollection)
ICollection.IsSynchronized

Obtiene un valor que indica si la colección StateManagedCollection está sincronizada (seguro para subprocesos). Este método devuelve false en todos los casos.

(Heredado de StateManagedCollection)
ICollection.SyncRoot

Obtiene un objeto que se puede usar para sincronizar el acceso a la colección StateManagedCollection. Este método devuelve null en todos los casos.

(Heredado de StateManagedCollection)
IEnumerable.GetEnumerator()

Devuelve un iterador que permite recorrer en iteración la colección StateManagedCollection.

(Heredado de StateManagedCollection)
IList.Add(Object)

Agrega un elemento a la colección StateManagedCollection.

(Heredado de StateManagedCollection)
IList.Clear()

Quita todos los elementos de la colección StateManagedCollection.

(Heredado de StateManagedCollection)
IList.Contains(Object)

Determina si la colección StateManagedCollection contiene un valor específico.

(Heredado de StateManagedCollection)
IList.IndexOf(Object)

Determina el índice de un elemento especificado en la colección StateManagedCollection.

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

Inserta un elemento en el índice especificado de la colección StateManagedCollection.

(Heredado de StateManagedCollection)
IList.IsFixedSize

Obtiene un valor que indica si la colección StateManagedCollection tiene un tamaño fijo. Este método devuelve false en todos los casos.

(Heredado de StateManagedCollection)
IList.IsReadOnly

Obtiene un valor que indica si la colección StateManagedCollection es de solo lectura.

(Heredado de StateManagedCollection)
IList.Item[Int32]

Obtiene el elemento IStateManager en el índice especificado.

(Heredado de StateManagedCollection)
IList.Remove(Object)

Quita la primera aparición del objeto especificado de la colección StateManagedCollection.

(Heredado de StateManagedCollection)
IList.RemoveAt(Int32)

Quita el elemento IStateManager en el índice especificado.

(Heredado de StateManagedCollection)
IStateManager.IsTrackingViewState

Obtiene un valor que indica si la colección StateManagedCollection está guardando los cambios en su estado de vista.

(Heredado de StateManagedCollection)
IStateManager.LoadViewState(Object)

Restaura el estado de vista previamente guardado de la colección StateManagedCollection y de los elementos IStateManager que contiene.

(Heredado de StateManagedCollection)
IStateManager.SaveViewState()

Guarda los cambios realizados en la colección StateManagedCollection y en cada objeto IStateManager que contiene desde el momento en que la página se devolvió al servidor.

(Heredado de StateManagedCollection)
IStateManager.TrackViewState()

Hace que la colección StateManagedCollection y cada uno de los objetos IStateManager que contiene realicen un seguimiento de los cambios en el estado de vista para que se puedan conservar entre distintas solicitudes de la misma página.

(Heredado de StateManagedCollection)

Métodos de extensión

Cast<TResult>(IEnumerable)

Convierte los elementos de IEnumerable en el tipo especificado.

OfType<TResult>(IEnumerable)

Filtra los elementos de IEnumerable en función de un tipo especificado.

AsParallel(IEnumerable)

Habilita la paralelización de una consulta.

AsQueryable(IEnumerable)

Convierte una interfaz IEnumerable en IQueryable.

Se aplica a

Consulte también