Cette documentation est archivée et n’est pas conservée.

TreeNode, classe

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

Représente un nœud dans le contrôle TreeView.

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

public class TreeNode : IStateManager, ICloneable
public class TreeNode implements IStateManager, ICloneable
public class TreeNode implements IStateManager, ICloneable

Le contrôle TreeView est composé de nœuds. Chaque entrée de l'arborescence est appelée un nœud et est représentée par un objet TreeNode. Un nœud qui contient d'autres nœuds est appelé un nœud parent. Un nœud contenu dans un autre nœud est appelé un nœud enfant. Un nœud qui n'a pas de nœuds enfants est appelé un nœud feuille. Un nœud qui n'est contenu dans aucun autre nœud mais est l'ancêtre de tous les autres nœuds est le nœud racine. Un nœud peut être à la fois un parent et un enfant, mais les nœuds racine, parent et feuille s'excluent mutuellement. Plusieurs propriétés visuelles et comportementales des nœuds sont déterminées par le fait qu'un nœud soit un nœud racine, parent ou feuille.

Bien qu'une arborescence typique ait un seul nœud racine, le contrôle TreeView vous permet d'ajouter plusieurs nœuds racine à votre arborescence. Cette opération est utile lorsque vous souhaitez afficher des listes d'éléments sans afficher un nœud racine principal unique, comme dans une liste de catégories de produits.

Un nœud stocke principalement les données dans deux propriétés, la propriété Text et la propriété Value. La valeur de la propriété Text est affichée dans le contrôle TreeView et la propriété Value permet de stocker toute donnée supplémentaire relative au nœud, comme les données utilisées pour gérer les événements de publication. Un nœud stocke également le chemin d'accès du nœud vers son nœud racine dans la propriété ValuePath. La propriété ValuePath indique la position du nœud par rapport au nœud racine.

RemarqueRemarque

Les nœuds qui sont au même niveau doivent avoir chacun une valeur unique pour la propriété Value ; le contrôle TreeView ne fait pas la distinction entre les différents nœuds d'un même niveau ayant la même valeur. Dans ce scénario, si l'utilisateur clique sur un nœud qui a une valeur en double, le nœud qui apparaît en premier dans le contrôle TreeView est sélectionné.

Un objet TreeNode est composé des quatre éléments d'interface utilisateur suivants qui peuvent être personnalisés ou masqués :

  • Icône de l'indicateur de nœud d'expansion utilisée pour montrer si le nœud est développé, réduit ou non développable.

  • Case à cocher facultative associée au nœud.

  • Image de nœud facultative.

  • Texte du nœud.

Vous pouvez spécifier une image personnalisée pour les indicateurs de nœud développable, réductible et non développable en définissant les propriétés ExpandImageUrl, CollapseImageUrl et NoExpandImageUrl de la classe TreeView. Les icônes de l'indicateur de nœud d'expansion peuvent même être masquées entièrement en affectant false à la propriété ShowExpandCollapse de la classe TreeView.

Pour afficher une case à cocher en regard d'un nœud, définissez la propriété ShowCheckBoxes de la classe TreeView. Lorsque la propriété ShowCheckBoxes a une valeur différente de TreeNodeType.Node, les cases à cocher sont affichées en regard du type de nœud spécifié. Vous pouvez substituer de manière sélective la case à cocher d'un nœud en définissant la propriété ShowCheckBox du nœud. Lorsqu'une case à cocher est affichée, utilisez la propriété Checked pour déterminer si la case à cocher est activée.

Vous pouvez afficher une image dans un nœud en définissant la propriété ImageUrl. Cette image est affichée en regard du texte du nœud.

Le texte d'un nœud dans le contrôle TreeView peut être dans l'un des deux modes : mode de sélection ou mode navigation. Par défaut, un nœud est en mode de sélection. Pour faire passer un nœud en mode navigation, affectez une valeur différente d'une chaîne vide ("") à la propriété NavigateUrl du nœud. Pour faire passer un nœud en mode de sélection, affectez une chaîne vide à la propriété NavigateUrl du nœud.

Par défaut, un clic sur un nœud qui est en mode de sélection permet de publier la page sur le serveur et de déclencher l'événement SelectedNodeChanged. Vous pouvez éventuellement spécifier un événement différent à déclencher en définissant la propriété SelectAction du nœud. Pour plus d'informations, consultez SelectAction. Pour déterminer le nœud sur lequel l'utilisateur a cliqué en mode de sélection, utilisez la propriété SelectedNode du contrôle TreeView.

Lorsqu'un nœud est en mode navigation, tous les événements de sélection sont désactivés pour ce nœud. Lorsqu'un utilisateur clique sur le nœud en mode navigation, il est dirigé vers l'URL spécifiée. Vous pouvez éventuellement définir la propriété Target pour qu'elle spécifie la fenêtre ou frame dans lequel afficher le contenu lié.

La classe TreeNode contient plusieurs propriétés qui sont utilisées pour stocker l'état du nœud. Utilisez la propriété Selected pour déterminer si un nœud est sélectionné. Pour déterminer si le nœud est développé, utilisez la propriété Expanded. La propriété DataBound est utilisée pour déterminer si un nœud est lié aux données. Lorsqu'un nœud est lié aux données, vous pouvez accéder à l'élément de données sous-jacent à l'aide de la propriété DataItem.

La classe fournit plusieurs propriétés qui aident à déterminer la position d'un nœud par rapport aux autres nœuds de l'arborescence. Utilisez la propriété Depth pour déterminer la profondeur du nœud. Vous pouvez obtenir la liste délimitée des nœuds du nœud actuel vers son nœud racine à l'aide de la propriété ValuePath. Pour déterminer le nœud parent du nœud, utilisez la propriété Parent. L'accès aux nœuds enfants s'effectue à l'aide de la collection ChildNodes.

Il n'est pas toujours facile de prédéfinir statiquement une arborescence en raison de la taille des données ou du contenu personnalisé qui dépend des entrées d'utilisateur. De ce fait, le contrôle TreeView prend en charge le remplissage dynamique du nœud. Un nœud peut être rempli au moment de l'exécution lorsqu'il est développé. Pour plus d'informations sur le remplissage dynamique du nœud, consultez la propriété PopulateOnDemand.

Pour obtenir la liste des valeurs de propriétés initiales d'une instance de TreeNode, consultez le constructeur TreeNode.

L'exemple de code suivant illustre comment installer les frames pour l'exemple de code suivant.


<html>
         
    <frameset cols="30%, 75%">
   
        <frame name="Menu" src="TreeViewFramecs.aspx"/>
        <frame name="Content" src="Home.aspx"/> 
           
    </frameset>      
   
</html>


L'exemple de code suivant illustre comment utiliser la syntaxe déclarative pour créer des objets TreeNode dans le contrôle TreeView. Cet exemple est utilisé dans le jeu de frames de l'exemple précédent pour afficher une table des matières.


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

<html>
  <body>
    <form runat="server">
    
      <h3>TreeView Declarative Syntax Example</h3>
      
      <asp:TreeView id="SampleTreeView" 
        runat="server">
         
        <Nodes>
        
          <asp:TreeNode Value="Home" 
            NavigateUrl="Home.aspx" 
            Text="Home"
            Target="Content" 
            Expanded="True">
             
            <asp:TreeNode Value="Page 1" 
              NavigateUrl="Page1.aspx" 
              Text="Page1"
              Target="Content">
               
              <asp:TreeNode Value="Section 1" 
                NavigateUrl="Section1.aspx" 
                Text="Section 1"
                Target="Content"/>
                 
            </asp:TreeNode>              
            
            <asp:TreeNode Value="Page 2" 
              NavigateUrl="Page2.aspx"
              Text="Page 2"
              Target="Content">
               
            </asp:TreeNode> 
            
          </asp:TreeNode>
        
        </Nodes>
        
      </asp:TreeView>

    </form>
  </body>
</html>


  • AspNetHostingPermission  pour utiliser la classe TreeNode dans un environnement hébergé. Valeur d'énumération associée : AspNetHostingPermissionLevel.Minimal.

System.Object
  System.Web.UI.WebControls.TreeNode

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