TreeNodeBindingCollection Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
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:
Annidare i tag di apertura e chiusura
<DataBindings>
tra i tag di apertura e chiusura del TreeView controllo.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 |
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 |
ICollection.SyncRoot |
Ottiene un oggetto che può essere usato per sincronizzare l'accesso alla raccolta StateManagedCollection. Questo metodo restituisce |
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 |
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. |