Condividi tramite


TreeNodeBindingCollection Classe

Definizione

Rappresenta una raccolta di oggetti TreeNodeBinding nel controllo TreeView . La 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

In questa sezione sono riportati due esempi di codice. Nel primo esempio di codice viene illustrato come popolare un TreeNodeBindingCollection oggetto in modo dichiarativo. Nel secondo esempio di codice viene illustrato come popolare un TreeNodeBindingCollection oggetto a livello di codice.

Nell'esempio di codice seguente viene illustrato come popolare un TreeNodeBindingCollection oggetto in modo dichiarativo. Per il corretto funzionamento di questo esempio, è 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. Per il corretto funzionamento di questo esempio, è 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 le associazioni dei 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 le associazioni dei nodi della struttura ad albero in modo dichiarativo:

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

  2. Posizionare <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:

  • Usare 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à

Count

Ottiene il numero di elementi contenuti nella raccolta StateManagedCollection.

(Ereditato da StateManagedCollection)
Item[Int32]

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

Metodi

Add(TreeNodeBinding)

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

Clear()

Rimuove tutti gli elementi dalla raccolta StateManagedCollection.

(Ereditato da StateManagedCollection)
Contains(TreeNodeBinding)

Determina se l'oggetto TreeNodeBinding specificato è incluso nell'insieme.

CopyTo(Array, Int32)

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

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

Copia tutti gli elementi dall'oggetto TreeNodeBindingCollection a una matrice unidimensionale compatibile di oggetti TreeNodeBinding, 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 è basato sul membro specificato della raccolta restituita dal metodo GetKnownTypes().

(Ereditato da StateManagedCollection)
Equals(Object)

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

(Ereditato da Object)
GetEnumerator()

Restituisce un iteratore che consente di scorrere la raccolta StateManagedCollection.

(Ereditato da StateManagedCollection)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetKnownTypes()

Quando sottoposto a override in una classe derivata, ottiene una matrice di tipi IStateManager che possono essere inclusi nella raccolta StateManagedCollection.

(Ereditato da StateManagedCollection)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
IndexOf(TreeNodeBinding)

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

Insert(Int32, TreeNodeBinding)

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

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
OnClear()

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

(Ereditato da StateManagedCollection)
OnClearComplete()

Quando sottoposto a override in una classe derivata, esegue ulteriori operazioni dopo che il metodo Clear() ha completato la rimozione di tutti gli elementi dalla raccolta.

(Ereditato da StateManagedCollection)
OnInsert(Int32, Object)

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

(Ereditato da StateManagedCollection)
OnInsertComplete(Int32, Object)

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

(Ereditato da StateManagedCollection)
OnRemove(Int32, Object)

Quando sottoposto a override in una classe derivata, esegue ulteriori operazioni prima che il metodo IList.Remove(Object) 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 ulteriori operazioni dopo che il metodo IList.Remove(Object) o IList.RemoveAt(Int32) ha completato la rimozione dell'elemento specificato dalla raccolta.

(Ereditato da StateManagedCollection)
OnValidate(Object)

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

(Ereditato da StateManagedCollection)
Remove(TreeNodeBinding)

Rimuove dall'oggetto TreeNodeBinding l'oggetto TreeNodeBindingCollection specificato.

RemoveAt(Int32)

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

SetDirty()

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

(Ereditato da StateManagedCollection)
SetDirtyObject(Object)

Quando sottoposto a override in una classe derivata, richiede a un object incluso nella raccolta di registrare il rispettivo stato completo nello stato di visualizzazione, invece di registrare solo le informazioni relative alle modifiche.

(Ereditato da StateManagedCollection)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

ICollection.Count

Ottiene il numero di elementi contenuti nella raccolta StateManagedCollection.

(Ereditato da StateManagedCollection)
ICollection.IsSynchronized

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

(Ereditato da StateManagedCollection)
ICollection.SyncRoot

Ottiene un oggetto che può essere usato per sincronizzare l'accesso alla raccolta StateManagedCollection. Questo metodo restituisce null in tutti i casi.

(Ereditato da StateManagedCollection)
IEnumerable.GetEnumerator()

Restituisce un iteratore che consente di scorrere la raccolta StateManagedCollection.

(Ereditato da StateManagedCollection)
IList.Add(Object)

Aggiunge un elemento alla raccolta StateManagedCollection.

(Ereditato da StateManagedCollection)
IList.Clear()

Rimuove tutti gli elementi dalla raccolta StateManagedCollection.

(Ereditato da StateManagedCollection)
IList.Contains(Object)

Stabilisce se la raccolta StateManagedCollection contiene un valore specifico.

(Ereditato da StateManagedCollection)
IList.IndexOf(Object)

Determina l'indice di un elemento specificato nella raccolta StateManagedCollection.

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

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

(Ereditato da StateManagedCollection)
IList.IsFixedSize

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

(Ereditato da StateManagedCollection)
IList.IsReadOnly

Ottiene un valore che indica se la raccolta 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 dalla raccolta 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 raccolta StateManagedCollection salva le modifiche apportate al relativo stato di visualizzazione.

(Ereditato da StateManagedCollection)
IStateManager.LoadViewState(Object)

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

(Ereditato da StateManagedCollection)
IStateManager.SaveViewState()

Salva le modifiche apportate alla raccolta StateManagedCollection e ogni oggetto IStateManager in essa contenuto dal momento in cui è stato eseguito il postback della pagina nel server.

(Ereditato da StateManagedCollection)
IStateManager.TrackViewState()

Fa in modo che la raccolta StateManagedCollection e ogni oggetto IStateManager in essa contenuto tenga traccia delle modifiche apportate al rispettivo stato di visualizzazione, in modo da consentirne il mantenimento nelle diverse richieste per la stessa pagina.

(Ereditato da StateManagedCollection)

Metodi di estensione

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato.

OfType<TResult>(IEnumerable)

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

AsParallel(IEnumerable)

Consente la parallelizzazione di una query.

AsQueryable(IEnumerable)

Converte un oggetto IEnumerable in un oggetto IQueryable.

Si applica a

Vedi anche