TreeNodeBindingCollection Classe

Définition

Représente une collection d’objets TreeNodeBinding dans le contrôle TreeView . Cette classe ne peut pas être héritée.

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
Héritage
TreeNodeBindingCollection

Exemples

Cette section contient deux exemples de code. Le premier exemple de code montre comment remplir un TreeNodeBindingCollection objet de manière déclarative. Le deuxième exemple de code montre comment remplir un TreeNodeBindingCollection objet par programmation.

L’exemple de code suivant montre comment remplir un TreeNodeBindingCollection objet de manière déclarative. Pour que cet exemple fonctionne correctement, vous devez copier les données XML situées à la fin de cette section dans un fichier appelé 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>

L’exemple de code suivant montre comment remplir un TreeNodeBindingCollection objet par programmation. Pour que cet exemple fonctionne correctement, vous devez copier les exemples de données XML situées à la fin de cette section dans un fichier appelé 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>

Voici les données XML des exemples de code précédents.

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

Remarques

La TreeNodeBindingCollection classe est utilisée pour stocker et gérer une collection d’objets TreeNodeBinding dans le TreeView contrôle. Le TreeView contrôle utilise la TreeNodeBindingCollection classe pour sa DataBindings propriété.

La DataBindings propriété contient des TreeNodeBinding objets qui définissent la relation entre un élément de données et le nœud auquel il est liée. Lors de la liaison à une source de données où chaque élément de données contient plusieurs propriétés (comme un élément XML avec plusieurs attributs), un nœud affiche la valeur retournée par la ToString méthode de l’élément de données, par défaut. Dans le cas d’un élément XML, le nœud affiche le nom de l’élément, qui affiche la structure sous-jacente de l’arborescence, mais n’est pas très utile dans le cas contraire. Vous pouvez lier un nœud à une propriété d’élément de données spécifique en spécifiant des liaisons de nœud d’arbre. Bien que la DataBindings collection puisse être remplie par programmation, elle est généralement définie de manière déclarative.

Pour définir les liaisons de nœud d’arborescence de manière déclarative :

  1. Imbriquez les balises d’ouverture et de fermeture <DataBindings> entre les balises d’ouverture et de fermeture du TreeView contrôle.

  2. Placez les <asp:TreeNodeBinding> éléments entre les balises d’ouverture et de fermeture <DataBindings> pour chaque liaison de nœud d’arbre que vous souhaitez spécifier.

Vous pouvez gérer par programmation un TreeNodeBindingCollection en ajoutant et en supprimant des TreeNodeBinding objets. Pour ajouter un TreeNodeBinding objet à la collection, utilisez la ou Insert la Add méthode. Pour supprimer des nœuds de la collection, utilisez la méthode, RemoveAtou StateManagedCollection.Clear la Removeméthode.

La TreeNodeBindingCollection classe prend en charge plusieurs façons d’accéder aux éléments de la collection :

  • Utilisez l’indexeur Item[] pour récupérer un TreeNode objet directement à un index de base zéro spécifique.

  • Utilisez la StateManagedCollection.GetEnumerator méthode pour créer un énumérateur qui peut être utilisé pour itérer au sein de la collection.

Propriétés

Count

Obtient le nombre d'éléments contenus dans la collection StateManagedCollection.

(Hérité de StateManagedCollection)
Item[Int32]

Obtient ou définit l'objet TreeNodeBinding à l'index spécifié dans l'objet TreeNodeBindingCollection.

Méthodes

Add(TreeNodeBinding)

Ajoute l'objet TreeNodeBinding spécifié à la fin de l'objet TreeNodeBindingCollection.

Clear()

Supprime tous les éléments de la collection StateManagedCollection.

(Hérité de StateManagedCollection)
Contains(TreeNodeBinding)

Détermine si l'objet TreeNodeBinding spécifié se trouve dans la collection.

CopyTo(Array, Int32)

Copie les éléments de la collection StateManagedCollection dans un tableau, en commençant au niveau d'un index de tableau particulier.

(Hérité de StateManagedCollection)
CopyTo(TreeNodeBinding[], Int32)

Copie tous les éléments de l'objet TreeNodeBindingCollection dans un tableau d'objets TreeNodeBinding compatible unidimensionnel, en commençant à l'index spécifié dans le tableau cible.

CreateKnownType(Int32)

En cas de substitution dans une classe dérivée, crée une instance d'une classe qui implémente IStateManager. Le type d'objet créé repose sur le membre spécifié de la collection retournée par la méthode GetKnownTypes().

(Hérité de StateManagedCollection)
Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetEnumerator()

Retourne un itérateur qui itère au sein de la collection StateManagedCollection.

(Hérité de StateManagedCollection)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetKnownTypes()

En cas de substitution dans une classe dérivée, obtient un tableau de types IStateManager que la collection StateManagedCollection peut contenir.

(Hérité de StateManagedCollection)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
IndexOf(TreeNodeBinding)

Détermine l'index de l'objet TreeNodeBinding spécifié dans la collection.

Insert(Int32, TreeNodeBinding)

Insère l'objet TreeNodeBinding spécifié dans l'objet TreeNodeBindingCollection à la position d'index spécifiée.

MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
OnClear()

En cas de substitution dans une classe dérivée, exécute une tâche supplémentaire avant que la méthode Clear() supprime tous les éléments de la collection.

(Hérité de StateManagedCollection)
OnClearComplete()

En cas de substitution dans une classe dérivée, exécute une tâche supplémentaire une fois tous les éléments de la collection supprimés par la méthode Clear().

(Hérité de StateManagedCollection)
OnInsert(Int32, Object)

En cas de substitution dans une classe dérivée, exécute une tâche supplémentaire avant que la méthode IList.Insert(Int32, Object) ou IList.Add(Object) ajoute un élément à la collection.

(Hérité de StateManagedCollection)
OnInsertComplete(Int32, Object)

En cas de substitution dans une classe dérivée, exécute une tâche supplémentaire après que la méthode IList.Insert(Int32, Object) ou IList.Add(Object) a ajouté un élément à la collection.

(Hérité de StateManagedCollection)
OnRemove(Int32, Object)

En cas de substitution dans une classe dérivée, exécute une tâche supplémentaire avant que la méthode IList.Remove(Object) ou IList.RemoveAt(Int32) supprime l'élément spécifié de la collection.

(Hérité de StateManagedCollection)
OnRemoveComplete(Int32, Object)

En cas de substitution dans une classe dérivée, exécute une tâche supplémentaire après que la méthode IList.Remove(Object) ou IList.RemoveAt(Int32) a supprimé l'élément spécifié de la collection.

(Hérité de StateManagedCollection)
OnValidate(Object)

En cas de substitution dans une classe dérivée, valide un élément de la collection StateManagedCollection.

(Hérité de StateManagedCollection)
Remove(TreeNodeBinding)

Supprime l'objet TreeNodeBinding spécifié de l'objet TreeNodeBindingCollection.

RemoveAt(Int32)

Supprime l'objet TreeNodeBinding à l'emplacement d'index spécifié de l'objet TreeNodeBindingCollection.

SetDirty()

Force la sérialisation de l'intégralité de la collection StateManagedCollection dans l'état d'affichage.

(Hérité de StateManagedCollection)
SetDirtyObject(Object)

En cas de substitution dans une classe dérivée, commande à un object contenu dans la collection d'enregistrer l'intégralité de son état dans l'état d'affichage, plutôt que d'enregistrer uniquement des informations relatives aux modifications.

(Hérité de StateManagedCollection)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

Implémentations d’interfaces explicites

ICollection.Count

Obtient le nombre d'éléments contenus dans la collection StateManagedCollection.

(Hérité de StateManagedCollection)
ICollection.IsSynchronized

Obtient une valeur indiquant si la collection StateManagedCollection est synchronisée (thread-safe). Cette méthode retourne false dans tous les cas.

(Hérité de StateManagedCollection)
ICollection.SyncRoot

Obtient un objet qui peut être utilisé pour synchroniser l'accès à la collection StateManagedCollection. Cette méthode retourne null dans tous les cas.

(Hérité de StateManagedCollection)
IEnumerable.GetEnumerator()

Retourne un itérateur qui itère au sein de la collection StateManagedCollection.

(Hérité de StateManagedCollection)
IList.Add(Object)

Ajoute un élément à la collection StateManagedCollection.

(Hérité de StateManagedCollection)
IList.Clear()

Supprime tous les éléments de la collection StateManagedCollection.

(Hérité de StateManagedCollection)
IList.Contains(Object)

Détermine si la collection StateManagedCollection contient une valeur spécifique.

(Hérité de StateManagedCollection)
IList.IndexOf(Object)

Détermine l'index d'un élément spécifié de la collection StateManagedCollection.

(Hérité de StateManagedCollection)
IList.Insert(Int32, Object)

Insère un élément dans la collection StateManagedCollection au niveau de l'index spécifié.

(Hérité de StateManagedCollection)
IList.IsFixedSize

Obtient une valeur indiquant si la collection StateManagedCollection est de taille fixe. Cette méthode retourne false dans tous les cas.

(Hérité de StateManagedCollection)
IList.IsReadOnly

Obtient une valeur indiquant si la collection StateManagedCollection est en lecture seule.

(Hérité de StateManagedCollection)
IList.Item[Int32]

Obtient l’élément IStateManager à l’index spécifié.

(Hérité de StateManagedCollection)
IList.Remove(Object)

Supprime la première occurrence de l'objet spécifié dans la collection StateManagedCollection.

(Hérité de StateManagedCollection)
IList.RemoveAt(Int32)

Supprime l'élément IStateManager au niveau de l'index spécifié.

(Hérité de StateManagedCollection)
IStateManager.IsTrackingViewState

Obtient une valeur indiquant si la collection StateManagedCollection enregistre les modifications apportées à son état d'affichage.

(Hérité de StateManagedCollection)
IStateManager.LoadViewState(Object)

Restaure l'état d'affichage précédemment enregistré de la collection StateManagedCollection et les éléments IStateManager qu'elle contient.

(Hérité de StateManagedCollection)
IStateManager.SaveViewState()

Enregistre les modifications apportées à la collection StateManagedCollection et à chaque objet IStateManager qu'elle contient, depuis la publication de la page sur le serveur.

(Hérité de StateManagedCollection)
IStateManager.TrackViewState()

Commande à la collection StateManagedCollection et à chacun des objets IStateManager qu'elle contient de procéder au suivi des modifications apportées à leur état d'affichage afin qu'ils puissent être rendus persistants au fil des requêtes d'une même page.

(Hérité de StateManagedCollection)

Méthodes d’extension

Cast<TResult>(IEnumerable)

Effectue un cast des éléments d'un IEnumerable vers le type spécifié.

OfType<TResult>(IEnumerable)

Filtre les éléments d'un IEnumerable en fonction du type spécifié.

AsParallel(IEnumerable)

Active la parallélisation d'une requête.

AsQueryable(IEnumerable)

Convertit un IEnumerable en IQueryable.

S’applique à

Voir aussi