Exporter (0) Imprimer
Développer tout

TreeNodeBindingCollection, classe

Remarque : cette classe est nouvelle dans le .NET Framework version 2.0.

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

Espace de noms : System.Web.UI.WebControls
Assembly : System.Web (dans system.web.dll)

public sealed class TreeNodeBindingCollection : StateManagedCollection
public final class TreeNodeBindingCollection extends StateManagedCollection
public final class TreeNodeBindingCollection extends StateManagedCollection

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

La propriété DataBindings contient des objets TreeNodeBinding qui définissent la relation entre un élément de données et le nœud auquel il est lié. Lorsque vous effectuez une liaison à une source de données où chaque élément de données contient plusieurs propriétés (tel qu'un élément XML avec plusieurs attributs), un nœud affiche la valeur retournée par la méthode ToString 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, lequel affiche la structure sous-jacente de l'arborescence, mais qui n'est pas très utile par ailleurs. 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 collection DataBindings puisse être remplie par programme, elle est généralement définie de manière déclarative.

Pour définir les liaisons de nœud d'arbre de façon déclarative :

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

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

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

La classe TreeNodeBindingCollection prend en charge plusieurs modes d'accès aux éléments de la collection :

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

  • Utilisez la méthode StateManagedCollection.GetEnumerator afin de créer un énumérateur qui peut être utilisé pour parcourir la collection.

Cette section comprend deux exemples de code. Le premier exemple de code illustre le remplissage d'un objet TreeNodeBindingCollection de façon déclarative. Le deuxième exemple de code illustre le remplissage par programme d'un objet TreeNodeBindingCollection.

L'exemple de code suivant montre comment remplir un objet TreeNodeBindingCollection de façon déclarative. Pour que cet exemple fonctionne correctement, vous devez copier les données XML localisées à la fin de cette section dans un fichier nommé Book.xml.


<%@ Page Language="C#" %>

<html>
  <body>
    <form 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 illustre le remplissage par programme d'un objet TreeNodeBindingCollection de façon déclarative. Pour que cet exemple fonctionne correctement, vous devez copier les données XML localisées à la fin de cette section dans un fichier nommé Book.xml.


<%@ Page Language="C#" %>

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


Les éléments suivants sont les données XML pour les 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>

System.Object
   System.Web.UI.StateManagedCollection
    System.Web.UI.WebControls.TreeNodeBindingCollection

Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft