Condividi tramite


TreeNodeBindingCollection Classe

Definizione

Rappresenta una raccolta di TreeNodeBinding oggetti nel TreeView controllo . Questa classe non può essere ereditata.

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
Ereditarietà
TreeNodeBindingCollection

Esempio

Questa sezione contiene due esempi di codice. Il primo esempio di codice illustra come popolare un TreeNodeBindingCollection oggetto in modo dichiarativo. Il secondo esempio di codice illustra come popolare un TreeNodeBindingCollection oggetto a livello di codice.

Nell'esempio di codice seguente viene illustrato come popolare un TreeNodeBindingCollection oggetto in modo dichiarativo. Affinché questo esempio funzioni correttamente, è necessario copiare i dati XML che si trovano alla fine di questa sezione in un file denominato 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>

Nell'esempio di codice seguente viene illustrato come popolare un TreeNodeBindingCollection oggetto a livello di codice. Affinché questo esempio funzioni correttamente, è necessario copiare i dati XML di esempio che si trovano alla fine di questa sezione in un file denominato 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>

Di seguito sono riportati i dati XML per gli esempi di codice precedenti.

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

Commenti

La TreeNodeBindingCollection classe viene utilizzata per archiviare e gestire una raccolta di TreeNodeBinding oggetti nel TreeView controllo . Il TreeView controllo utilizza la classe per la TreeNodeBindingCollection relativa DataBindings proprietà.

La DataBindings proprietà contiene TreeNodeBinding oggetti che definiscono la relazione tra un elemento di dati e il nodo a cui è associata. Quando si esegue il binding a un'origine dati in cui ogni elemento di dati contiene più proprietà (ad esempio un elemento XML con diversi attributi), un nodo visualizza il valore restituito dal ToString metodo dell'elemento di dati, per impostazione predefinita. Nel caso di un elemento XML, il nodo visualizza il nome dell'elemento, che mostra la struttura sottostante dell'albero, ma non è molto utile in caso contrario. È possibile associare un nodo a una proprietà specifica dell'elemento di dati specificando associazioni di nodi della struttura ad albero. Anche se la DataBindings raccolta può essere popolata a livello di codice, viene in genere impostata in modo dichiarativo.

Per impostare in modo dichiarativo le associazioni dei nodi della struttura ad albero:

  1. Annidare i tag di apertura e chiusura <DataBindings> tra i tag di apertura e chiusura del TreeView controllo.

  2. Inserire <asp:TreeNodeBinding> gli elementi tra i tag di apertura e chiusura <DataBindings> per ogni associazione di nodi della struttura ad albero da specificare.

È possibile gestire un oggetto TreeNodeBindingCollection a livello di codice aggiungendo e rimuovendo TreeNodeBinding oggetti. Per aggiungere un TreeNodeBinding oggetto all'insieme, utilizzare il Add metodo o Insert . Per rimuovere nodi dalla raccolta, usare il Removemetodo , RemoveAto StateManagedCollection.Clear .

La TreeNodeBindingCollection classe supporta diversi modi per accedere agli elementi nella raccolta:

  • Utilizzare l'indicizzatore Item[] per recuperare un TreeNode oggetto direttamente in corrispondenza di un indice in base zero specifico.

  • Utilizzare il StateManagedCollection.GetEnumerator metodo per creare un enumeratore che può essere usato per scorrere la raccolta.

Proprietà

Nome Descrizione
Count

Ottiene il numero di elementi contenuti nell'insieme StateManagedCollection .

(Ereditato da StateManagedCollection)
Item[Int32]

Ottiene o imposta l'oggetto TreeNodeBinding in corrispondenza dell'indice specificato nell'oggetto TreeNodeBindingCollection .

Metodi

Nome Descrizione
Add(TreeNodeBinding)

Accoda l'oggetto specificato TreeNodeBinding alla fine dell'oggetto TreeNodeBindingCollection .

Clear()

Rimuove tutti gli elementi dalla StateManagedCollection raccolta.

(Ereditato da StateManagedCollection)
Contains(TreeNodeBinding)

Determina se l'oggetto specificato TreeNodeBinding si trova nell'insieme.

CopyTo(Array, Int32)

Copia gli elementi della StateManagedCollection raccolta in una matrice, a partire da un indice di matrice specifico.

(Ereditato da StateManagedCollection)
CopyTo(TreeNodeBinding[], Int32)

Copia tutti gli elementi dall'oggetto TreeNodeBindingCollection in una matrice unidimensionale compatibile di TreeNodeBinding oggetti, a partire dall'indice specificato nella matrice di destinazione.

CreateKnownType(Int32)

Quando sottoposto a override in una classe derivata, crea un'istanza di una classe che implementa IStateManager. Il tipo di oggetto creato si basa sul membro specificato della raccolta restituita dal GetKnownTypes() metodo .

(Ereditato da StateManagedCollection)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetEnumerator()

Restituisce un iteratore che scorre l'insieme StateManagedCollection .

(Ereditato da StateManagedCollection)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetKnownTypes()

In caso di override in una classe derivata, ottiene una matrice di IStateManager tipi che la StateManagedCollection raccolta può contenere.

(Ereditato da StateManagedCollection)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
IndexOf(TreeNodeBinding)

Determina l'indice dell'oggetto specificato TreeNodeBinding nell'insieme.

Insert(Int32, TreeNodeBinding)

Inserisce l'oggetto specificato TreeNodeBinding nell'oggetto TreeNodeBindingCollection in corrispondenza della posizione di indice specificata.

MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
OnClear()

Quando sottoposto a override in una classe derivata, esegue operazioni aggiuntive prima che il Clear() metodo rimuova tutti gli elementi dalla raccolta.

(Ereditato da StateManagedCollection)
OnClearComplete()

Quando sottoposto a override in una classe derivata, esegue operazioni aggiuntive al termine della Clear() rimozione di tutti gli elementi dalla raccolta.

(Ereditato da StateManagedCollection)
OnInsert(Int32, Object)

Quando sottoposto a override in una classe derivata, esegue operazioni aggiuntive prima che il IList.Insert(Int32, Object) metodo o IList.Add(Object) aggiunga un elemento alla raccolta.

(Ereditato da StateManagedCollection)
OnInsertComplete(Int32, Object)

Quando sottoposto a override in una classe derivata, esegue operazioni aggiuntive dopo che il IList.Insert(Int32, Object) metodo o IList.Add(Object) aggiunge un elemento alla raccolta.

(Ereditato da StateManagedCollection)
OnRemove(Int32, Object)

Quando sottoposto a override in una classe derivata, esegue operazioni aggiuntive prima che il IList.Remove(Object) metodo o IList.RemoveAt(Int32) rimuova l'elemento specificato dalla raccolta.

(Ereditato da StateManagedCollection)
OnRemoveComplete(Int32, Object)

Quando sottoposto a override in una classe derivata, esegue operazioni aggiuntive dopo che il IList.Remove(Object) metodo o IList.RemoveAt(Int32) rimuove l'elemento specificato dalla raccolta.

(Ereditato da StateManagedCollection)
OnValidate(Object)

Quando sottoposto a override in una classe derivata, convalida un elemento della StateManagedCollection raccolta.

(Ereditato da StateManagedCollection)
Remove(TreeNodeBinding)

Rimuove l'oggetto specificato TreeNodeBinding dall'oggetto TreeNodeBindingCollection .

RemoveAt(Int32)

Rimuove l'oggetto TreeNodeBinding in corrispondenza della posizione di indice specificata dall'oggetto TreeNodeBindingCollection .

SetDirty()

Forza la serializzazione dell'intera StateManagedCollection raccolta nello stato di visualizzazione.

(Ereditato da StateManagedCollection)
SetDirtyObject(Object)

Quando sottoposto a override in una classe derivata, indica a un object oggetto contenuto nella raccolta di registrare l'intero stato di visualizzazione dello stato, anziché registrare solo le informazioni di modifica.

(Ereditato da StateManagedCollection)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

Nome Descrizione
ICollection.Count

Ottiene il numero di elementi contenuti nell'insieme StateManagedCollection .

(Ereditato da StateManagedCollection)
ICollection.IsSynchronized

Ottiene un valore che indica se la StateManagedCollection raccolta è sincronizzata (thread-safe). Questo metodo restituisce false in tutti i casi.

(Ereditato da StateManagedCollection)
ICollection.SyncRoot

Ottiene un oggetto che può essere utilizzato per sincronizzare l'accesso all'insieme StateManagedCollection . Questo metodo restituisce null in tutti i casi.

(Ereditato da StateManagedCollection)
IEnumerable.GetEnumerator()

Restituisce un iteratore che scorre l'insieme StateManagedCollection .

(Ereditato da StateManagedCollection)
IList.Add(Object)

Aggiunge un elemento alla StateManagedCollection raccolta.

(Ereditato da StateManagedCollection)
IList.Clear()

Rimuove tutti gli elementi dalla StateManagedCollection raccolta.

(Ereditato da StateManagedCollection)
IList.Contains(Object)

Determina se la StateManagedCollection raccolta contiene un valore specifico.

(Ereditato da StateManagedCollection)
IList.IndexOf(Object)

Determina l'indice di un elemento specificato nell'insieme StateManagedCollection .

(Ereditato da StateManagedCollection)
IList.Insert(Int32, Object)

Inserisce un elemento nella StateManagedCollection raccolta in corrispondenza dell'indice specificato.

(Ereditato da StateManagedCollection)
IList.IsFixedSize

Ottiene un valore che indica se la StateManagedCollection raccolta ha una dimensione fissa. Questo metodo restituisce false in tutti i casi.

(Ereditato da StateManagedCollection)
IList.IsReadOnly

Ottiene un valore che indica se l'insieme StateManagedCollection è di sola lettura.

(Ereditato da StateManagedCollection)
IList.Item[Int32]

Ottiene l'elemento IStateManager in corrispondenza dell'indice specificato.

(Ereditato da StateManagedCollection)
IList.Remove(Object)

Rimuove la prima occorrenza dell'oggetto specificato dall'insieme StateManagedCollection .

(Ereditato da StateManagedCollection)
IList.RemoveAt(Int32)

Rimuove l'elemento IStateManager in corrispondenza dell'indice specificato.

(Ereditato da StateManagedCollection)
IStateManager.IsTrackingViewState

Ottiene un valore che indica se la StateManagedCollection raccolta salva le modifiche apportate allo stato di visualizzazione.

(Ereditato da StateManagedCollection)
IStateManager.LoadViewState(Object)

Ripristina lo stato di visualizzazione salvato in precedenza della StateManagedCollection raccolta e gli IStateManager elementi contenuti.

(Ereditato da StateManagedCollection)
IStateManager.SaveViewState()

Salva le modifiche apportate all'insieme StateManagedCollection e a ogni IStateManager oggetto che contiene dall'ora in cui la pagina è stata inviata nuovamente al server.

(Ereditato da StateManagedCollection)
IStateManager.TrackViewState()

Fa sì che l'insieme StateManagedCollection e ognuno degli oggetti che contiene tiene traccia delle IStateManager modifiche apportate allo stato di visualizzazione in modo che possano essere mantenute tra le richieste per la stessa pagina.

(Ereditato da StateManagedCollection)

Metodi di estensione

Nome Descrizione
AsParallel(IEnumerable)

Abilita la parallelizzazione di una query.

AsQueryable(IEnumerable)

Converte un IEnumerable in un IQueryable.

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un IEnumerable al tipo specificato.

OfType<TResult>(IEnumerable)

Filtra gli elementi di un IEnumerable in base a un tipo specificato.

Si applica a

Vedi anche