Questa pagina è stata utile?
I suggerimenti relativi al contenuto di questa pagina sono importanti. Comunicaceli.
Altri suggerimenti?
1500 caratteri rimanenti
Classe TreeNodeBinding
Collapse the table of content
Expand the table of content
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Classe TreeNodeBinding

Definisce la relazione tra un elemento di dati e il nodo a sta effettuando l'associazione in un controllo TreeView.

System.Object
  System.Web.UI.WebControls.TreeNodeBinding

Spazio dei nomi:  System.Web.UI.WebControls
Assembly:  System.Web (in System.Web.dll)

public sealed class TreeNodeBinding : IStateManager, 
	ICloneable, IDataSourceViewSchemaAccessor

Il tipo TreeNodeBinding espone i seguenti membri.

  NomeDescrizione
Metodo pubblicoTreeNodeBindingInizializza una nuova istanza della classe TreeNodeBinding.
In alto

  NomeDescrizione
Proprietà pubblicaDataMemberOttiene o imposta il valore da confrontare con una proprietà IHierarchyData.Type di un elemento dati per determinare se applicare l'associazione di nodi della struttura ad albero.
Proprietà pubblicaDepthOttiene o imposta la profondità del nodo alla quale viene applicato l'oggetto TreeNodeBinding.
Proprietà pubblicaFormatStringOttiene o imposta la stringa che specifica il formato di visualizzazione del testo di un nodo a cui è applicato l'oggetto TreeNodeBinding.
Proprietà pubblicaImageToolTipOttiene o imposta il testo di descrizione comandi di un'immagine visualizzata accanto a un nodo a cui è applicato l'oggetto TreeNodeBinding.
Proprietà pubblicaImageToolTipFieldOttiene o imposta il nome del campo dall'origine dati per l'associazione alla proprietà ImageToolTip di un oggetto TreeNode a cui è applicato l'oggetto TreeNodeBinding.
Proprietà pubblicaImageUrlOttiene o imposta l'URL di un'immagine visualizzata accanto a un nodo a cui è applicato l'oggetto TreeNodeBinding.
Proprietà pubblicaImageUrlFieldOttiene o imposta il nome del campo dall'origine dati per l'associazione alla proprietà ImageUrl di un oggetto TreeNode a cui è applicato l'oggetto TreeNodeBinding.
Proprietà pubblicaNavigateUrlOttiene o imposta l'URL a cui collegarsi quando si fa clic su un nodo a cui è applicato l'oggetto TreeNodeBinding.
Proprietà pubblicaNavigateUrlFieldOttiene o imposta il nome del campo dall'origine dati per l'associazione alla proprietà NavigateUrl di un oggetto TreeNode a cui è applicato l'oggetto TreeNodeBinding.
Proprietà pubblicaPopulateOnDemandOttiene o imposta un valore che indica se il nodo a cui è applicato l'oggetto TreeNodeBinding viene compilato in modo dinamico.
Proprietà pubblicaSelectActionOttiene o imposta gli eventi da generare quando si seleziona un nodo a cui è applicato l'oggetto TreeNodeBinding.
Proprietà pubblicaShowCheckBoxOttiene o imposta un valore che indica se una casella di controllo viene visualizzata accanto a un nodo a cui è applicato l'oggetto TreeNodeBinding.
Proprietà pubblicaTargetOttiene o imposta la finestra o il frame di destinazione in cui visualizzare il contenuto della pagina Web associato a un nodo a cui è applicato l'oggetto TreeNodeBinding.
Proprietà pubblicaTargetFieldOttiene o imposta il nome del campo dall'origine dati per l'associazione alla proprietà Target di un oggetto TreeNode a cui è applicato l'oggetto TreeNodeBinding.
Proprietà pubblicaTextOttiene o imposta il testo visualizzato per il nodo a cui è applicato l'oggetto TreeNodeBinding.
Proprietà pubblicaTextFieldOttiene o imposta il nome del campo dall'origine dati per l'associazione alla proprietà Text di un oggetto TreeNode a cui è applicato l'oggetto TreeNodeBinding.
Proprietà pubblicaToolTipOttiene o imposta il testo della descrizione comandi per un nodo a cui è applicato l'oggetto TreeNodeBinding.
Proprietà pubblicaToolTipFieldOttiene o imposta il nome del campo dall'origine dati per l'associazione alla proprietà ToolTip di un oggetto TreeNode a cui è applicato l'oggetto TreeNodeBinding.
Proprietà pubblicaValueOttiene o imposta un valore visualizzato che non viene visualizzato ma utilizzato per memorizzare dati aggiuntivi relativi a un nodo a cui è applicato l'oggetto TreeNodeBinding, ad esempio i dati utilizzati per gestire gli eventi di postback.
Proprietà pubblicaValueFieldOttiene o imposta il nome del campo dall'origine dati per l'associazione alla proprietà Value di un oggetto TreeNode a cui è applicato l'oggetto TreeNodeBinding.
In alto

  NomeDescrizione
Metodo pubblicoEquals(Object) Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object)
Metodo pubblicoGetHashCode Funge da funzione hash per un particolare tipo. (Ereditato da Object)
Metodo pubblicoGetType Ottiene il Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblicoToStringRestituisce la proprietà DataMember. (Esegue l'override di Object.ToString()).
In alto

  NomeDescrizione
Implementazione esplicita dell'interfacciaMetodo privatoICloneable.CloneInfrastruttura. Crea una copia dell'oggetto TreeNodeBinding.
Implementazione esplicita dell'interfacciaProprietà privataIDataSourceViewSchemaAccessor.DataSourceViewSchemaInfrastruttura. Per una descrizione di questo membro, vedere IDataSourceViewSchemaAccessor.DataSourceViewSchema.
Implementazione esplicita dell'interfacciaProprietà privataIStateManager.IsTrackingViewStateInfrastruttura. Per una descrizione di questo membro, vedere IStateManager.IsTrackingViewState.
Implementazione esplicita dell'interfacciaMetodo privatoIStateManager.LoadViewStateInfrastruttura. Carica lo stato di visualizzazione del nodo salvato in precedenza.
Implementazione esplicita dell'interfacciaMetodo privatoIStateManager.SaveViewStateInfrastruttura. Salva le modifiche apportate allo stato di visualizzazione di un oggetto.
Implementazione esplicita dell'interfacciaMetodo privatoIStateManager.TrackViewStateInfrastruttura. Indica all'oggetto TreeNode di tenere traccia delle modifiche apportate allo stato di visualizzazione.
In alto

Quando il controllo TreeView viene associato a un'origine dati in cui ogni elemento di dati contiene più campi (ad esempio un elemento XML con diversi attributi), per impostazione predefinita un nodo visualizza il valore restituito dal metodo ToString dell'elemento dati. Nel caso di un elemento XML, il nodo visualizza il nome dell'elemento, che consente unicamente di visualizzare la struttura sottostante della struttura ad albero. È possibile associare le proprietà di un nodo a un determinato campo specificando le associazioni di nodi della struttura ad albero. Un oggetto TreeNodeBinding definisce la relazione tra ciascun elemento di dati e il nodo a cui sta effettuando l'associazione.

Il controllo TreeView memorizza i relativi oggetti TreeNodeBinding nella proprietà DataBindings e applica le associazioni all'origine dati per creare una relazione uno a uno tra la gerarchia della struttura ad albero e la gerarchia dell'origine dati. Per ogni elemento di dati dell'origine dati, il controllo TreeView tenta di stabilire una corrispondenza tra l'elemento di dati e un oggetto TreeNodeBinding per creare l'oggetto TreeNode corrispondente.

Quando si crea un oggetto TreeNodeBinding, è necessario specificare i criteri per l'associazione. I criteri indicano quando un elemento di dati deve essere associato a un nodo. È possibile specificare la proprietà Depth o DataMember oppure entrambe. Specificando entrambe le proprietà si ottiene un lieve miglioramento delle prestazioni. La profondità di un nodo specifica il livello di nodo che viene associato. Ad esempio, nella dichiarazione TreeNodeBinding riportata di seguito i campi Name e ID dell'origine dati vengono associati, rispettivamente, alle proprietà Text e Value, di tutti i nodi con una profondità pari a 0.

<asp:TreeNodeBinding Depth="0" TextField="Name" ValueField="ID">

Un membro dati specifica il tipo di elemento di dati nell'origine dati sottostante, ma può rappresentare informazioni diverse a seconda dell'origine dati. Ogni elemento di dati di un'origine dati gerarchica (rappresentata da un'interfaccia System.Web.UI.IHierarchyData) espone una proprietà IHierarchyData.Type che specifica il tipo dell'elemento di dati. Ad esempio, il membro dati per un elemento XML specifica il nome dell'elemento. Se in un'origine dati sono contenuti più tipi di elementi di dati, il tipo di elemento di dati da utilizzare viene specificato dal membro dati. Nella dichiarazione TreeNodeBinding riportata di seguito gli elementi <Book> di un controllo XmlDataSource vengono associati a tutti i nodi della struttura ad albero, indipendentemente dalla posizione nella gerarchia:

<asp:TreeNodeBinding DataMember="Book" TextField="Title" ValueField= "ISBN">

Una volta stabiliti i criteri di associazione, è possibile associare una proprietà di un oggetto TreeNode che può essere associato a un valore. È possibile effettuare un'associazione a un campo di un elemento di dati o a un valore statico. Quando associati a un valore statico, tutti gli oggetti TreeNode a cui è applicato l'oggetto TreeNodeBinding condividono lo stesso valore.

NotaNota

È possibile eseguire selettivamente l'override di una proprietà associata in un oggetto TreeNode impostando la corrispondente proprietà direttamente nel nodo.

Nella tabella riportata di seguito vengono elencate le proprietà della classe TreeNodeBinding che consente di associare una proprietà dell'oggetto TreeNode a un campo di un elemento di dati.

Proprietà

Descrizione

ImageUrlField

Campo da associare alla proprietà ImageUrl di un oggetto TreeNode.

ImageToolTipField

Campo da associare alla proprietà ImageToolTip di un oggetto TreeNode.

NavigateUrlField

Campo da associare alla proprietà NavigateUrl di un oggetto TreeNode.

TextField

Campo da associare alla proprietà Text di un oggetto TreeNode.

ToolTipField

Campo da associare alla proprietà ToolTip di un oggetto TreeNode.

ValueField

Campo da associare alla proprietà Value di un oggetto TreeNode.

Nella tabella riportata di seguito vengono elencate le proprietà della classe TreeNodeBinding che consente di associare una proprietà dell'oggetto TreeNode a un valore statico.

Proprietà

Descrizione

ImageUrl

Valore statico da associare alla proprietà ImageUrl di un oggetto TreeNode.

ImageToolTip

Valore statico da associare alla proprietà ImageToolTip di un oggetto TreeNode.

NavigateUrl

Valore statico da associare alla proprietà NavigateUrl di un oggetto TreeNode.

PopulateOnDemand

Valore statico da associare alla proprietà PopulateOnDemand di un oggetto TreeNode.

SelectAction

Valore statico da associare alla proprietà SelectAction di un oggetto TreeNode.

ShowCheckBox

Valore statico da associare alla proprietà ShowCheckBox di un oggetto TreeNode.

Target

Valore statico da associare alla proprietà Target di un oggetto TreeNode.

Text

Valore statico da associare alla proprietà Text di un oggetto TreeNode.

ToolTip

Valore statico da associare alla proprietà ToolTip di un oggetto TreeNode.

Value

Valore statico da associare alla proprietà Value di un oggetto TreeNode.

Se sono definiti più oggetti TreeNodeBinding in conflitto, il controllo TreeView applica le associazioni di nodi della struttura ad albero nel seguente ordine di precedenza:

  1. Oggetto TreeNodeBinding che definisce e corrisponde sia a una profondità sia a un membro dati.

  2. Oggetto TreeNodeBinding che definisce e corrisponde soltanto al membro dati.

  3. Oggetto TreeNodeBinding che definisce e corrisponde soltanto alla profondità.

  4. Oggetto TreeNodeBinding che non definisce né la profondità né il membro dati. Questo tipo di associazioni di nodi della struttura ad albero viene applicato a tutti i nodi nella struttura ad albero.

  5. Oggetto TreeNodeBinding che non ha una corrispondenza nell'origine dati. In questo caso, il valore restituito dal metodo ToString dell'elemento di dati viene successivamente associato alle proprietà Text e Value dei nodi a cui è applicato l'oggetto TreeNodeBinding.

La classe TreeNodeBinding consente inoltre di formattare il testo visualizzato in un nodo impostando la proprietà FormatString.

Nella tabella riportata di seguito vengono illustrati alcuni esempi di dichiarazioni di associazioni di nodi della struttura ad albero.

Associazione di esempio

Descrizione

<asp:TreeNodeBinding TextField="Title" ValueField= "ID"/>

Associa le proprietà Text e Value di tutti i nodi della struttura ad albero, rispettivamente, ai campi Title e ID dell'origine dati. Tutti i nodi utilizzano questa associazione dei nodi della struttura ad albero poiché le proprietà DataMember e Depth non sono impostate.

<asp:TreeNodeBinding DataMember= "Book" TextField= "Title" ValueField= "ID"/>

Associa le proprietà Text e Value di tutti i nodi della struttura ad albero, rispettivamente, ai campi Title e ID dell'elemento di dati Book nell'origine dati.

<asp:TreeNodeBinding Depth="2" TextField= "Title" ValueField= "ID"/>

Associare le proprietà Text e Value di tutti i nodi con una profondità pari a 2 della struttura ad albero, rispettivamente, ai campi Title e ID dell'elemento di dati nell'origine dati.

<asp:TreeNodeBinding DataMember="Book" Depth= "2" TextField= "Title" ValueField= "ID" ImageUrl= "Image.jpg">

Associa le proprietà Text e Value di tutti i nodi della struttura ad albero con una profondità pari a 2, rispettivamente, ai campi Title e ID dell'elemento di dati Book nell'origine dati. Inoltre, associa la proprietà ImageUrl dei nodi a un valore statico.

In questa sezione sono contenuti tre esempi di codice. Nel primo esempio di codice viene illustrato come utilizzare in modo dichiarativo gli oggetti TreeNodeBinding per definire la relazione tra un nodo e un elemento di dati. Nel secondo esempio di codice viene illustrato come utilizzare gli oggetti TreeNodeBinding a livello di codice per definire la relazione tra un nodo e un elemento di dati. Nel terzo esempio di codice vengono forniti dati XML di esempio per il primo e il secondo esempio di codice.

Nell'esempio di codice riportato di seguito viene illustrato come utilizzare in modo dichiarativo gli oggetti TreeNodeBinding per definire la relazione tra un nodo e un elemento di dati. Per eseguire correttamente questo esempio, è necessario copiare i dati XML di esempio, forniti dopo questo esempio di codice, 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>



Nell'esempio di codice riportato di seguito viene illustrato come utilizzare gli oggetti TreeNodeBinding a livello di codice per definire la relazione tra un nodo e un elemento di dati. Per eseguire correttamente questo esempio, è necessario copiare i dati XML di esempio, forniti nell'esempio di codice successivo, 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>



Nell'esempio di codice riportato di seguito vengono forniti dati XML di esempio 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>

.NET Framework

Supportato in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Aggiunte alla community

AGGIUNGI
Mostra:
© 2015 Microsoft