TreeNode Classe

Définition

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

public ref class TreeNode : ICloneable, System::Web::UI::IStateManager
public class TreeNode : ICloneable, System.Web.UI.IStateManager
type TreeNode = class
    interface IStateManager
    interface ICloneable
Public Class TreeNode
Implements ICloneable, IStateManager
Héritage
TreeNode
Implémente

Exemples

L’exemple de code suivant montre comment configurer les trames pour l’exemple de code suivant.


<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>TreeView Frameset Example</title>
</head>
         
    <frameset cols="30%, 75%">
   
        <frame title="MenuFrame" name="Menu" src="TreeViewFramecs.aspx"/>
        <frame title="ContentFrame" name="Content" src="Home.aspx"/> 
           
    </frameset>      
   
</html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>TreeView Frameset Example</title>
</head>
         
    <frameset cols="30%, 75%">
   
        <frame title="MenuFrame" name="Menu" src="TreeViewFramevb.aspx"/>
        <frame title="ContentFrame" name="Content" src="Home.aspx"/> 
           
    </frameset>      
   
</html>

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


<%@ 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 Declarative Syntax Example</title>
</head>
<body>
    <form id="form1" 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>

<%@ 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 Declarative Syntax Example</title>
</head>
<body>
    <form id="form1" 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>

Remarques

Le TreeView contrôle est composé de nœuds. Chaque entrée de l’arborescence est appelée nœud et est représentée par un TreeNode objet. Un nœud qui contient d’autres nœuds est appelé nœud parent. Un nœud contenu par un autre nœud est appelé nœud enfant. Un nœud qui n’a pas de nœuds enfants est appelé nœud feuille. Un nœud qui n’est contenu par aucun autre nœud, mais qui 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 si un nœud est un nœud racine, parent ou feuille .

Bien qu’une arborescence classique n’ait qu’un seul nœud racine, le TreeView contrôle vous permet d’ajouter plusieurs nœuds racines à votre arborescence. Cela est utile lorsque vous souhaitez afficher des listes d’éléments sans afficher un seul nœud racine main, comme dans une liste de catégories de produits.

Un nœud stocke principalement les données dans deux propriétés, la Text propriété et la Value propriété . La valeur de la Text propriété s’affiche dans le TreeView contrôle et la Value propriété est utilisée pour stocker toutes les données supplémentaires sur le nœud, telles que 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 à son nœud racine dans la ValuePath propriété . La ValuePath propriété indique la position du nœud par rapport au nœud racine.

Notes

Les nœuds du même niveau doivent chacun avoir une valeur unique pour la Value propriété ; le TreeView contrôle ne peut pas faire la distinction entre différents nœuds au même niveau qui ont la même valeur. Dans ce scénario, si l’utilisateur clique sur un nœud qui a une valeur dupliquée, le nœud qui apparaît en premier dans le TreeView contrôle est sélectionné.

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

  • Icône d’indicateur de nœud d’expansion utilisée pour indiquer si le nœud est développé, réduit ou non extensible.

  • Zone de case activée 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 extensibles, réductibles et non extensibles en définissant les ExpandImageUrlpropriétés , CollapseImageUrlet NoExpandImageUrl de la TreeView classe . Les icônes d’indicateur de nœud d’expansion peuvent même être masquées entièrement en définissant la ShowExpandCollapse propriété de la classe sur TreeViewfalse.

Pour afficher une zone de case activée en regard d’un nœud, définissez la ShowCheckBoxes propriété de la TreeView classe . Lorsque la ShowCheckBoxes propriété est définie sur une valeur autre que TreeNodeType.Node, case activée zones s’affichent en regard du type de nœud spécifié. Vous pouvez remplacer de manière sélective la zone de case activée d’un nœud individuel en définissant la propriété du ShowCheckBox nœud. Lorsqu’une zone de case activée s’affiche, utilisez la Checked propriété pour déterminer si la zone case activée est sélectionnée.

Vous pouvez afficher une image dans un nœud en définissant la ImageUrl propriété . Cette image s’affiche en regard du texte du nœud.

Le texte d’un nœud dans le TreeView contrôle peut être dans l’un des deux modes suivants : mode sélection ou mode de navigation. Par défaut, un nœud est en mode sélection. Pour placer un nœud en mode de navigation, définissez la propriété du NavigateUrl nœud sur une valeur autre qu’une chaîne vide («  »). Pour placer un nœud en mode sélection, définissez la propriété du NavigateUrl nœud sur une chaîne vide.

Notes

Certains navigateurs Internet ont une limitation qui peut affecter les performances du TreeView contrôle. Par exemple, Microsoft Internet Explorer 6.0 a une limite de caractères d’URL de 2067 caractères qu’il publie. Si le nombre de caractères dans une URL d’un nœud est supérieur à ce nombre, le développement de ce nœud échoue et aucune exception n’est levée.

Par défaut, le fait de cliquer sur un nœud en mode sélection publie la page sur le serveur et déclenche l’événement SelectedNodeChanged . Vous pouvez éventuellement spécifier un autre événement à déclencher en définissant la propriété du SelectAction nœud. Pour plus d'informations, consultez SelectAction. Pour déterminer le nœud sur lequel un clic a été fait en mode sélection, utilisez la SelectedNode propriété du TreeView contrôle .

Lorsqu’un nœud est en mode navigation, tous les événements de sélection sont désactivés pour ce nœud. Un clic sur le nœud en mode navigation dirige l’utilisateur vers l’URL spécifiée. Vous pouvez éventuellement définir la Target propriété pour spécifier la fenêtre ou le cadre dans lequel afficher le contenu lié.

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

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

Parfois, il n’est pas pratique de prédéfinir statiquement l’arborescence en raison de la taille des données ou du contenu personnalisé qui dépend de l’entrée de l’utilisateur. Pour cette raison, le contrôle prend en charge l’remplissage TreeView dynamique des nœuds. Un nœud peut être rempli au moment de l’exécution lorsqu’il est développé. Notez que vous pouvez obtenir un comportement inattendu si vous conservez des nœuds créés de manière asynchrone. Par exemple, si vous utilisez un thread de travail en arrière-plan pour remplir les nœuds de manière asynchrone, l’arborescence de nœuds peut ne pas être remplie immédiatement, bien que le contrôle continue avec le reste du cycle de vie de la page. Lors de la publication, la création différée des nœuds peut entraîner des problèmes lorsque l’état d’affichage du contrôle est chargé, mais que l’arborescence des nœuds n’est pas entièrement remplie. Pour plus d’informations sur le remplissage dynamique des nœuds, consultez la PopulateOnDemand propriété .

Pour obtenir la liste des valeurs de propriété initiales d’un instance de TreeNode, consultez le TreeNode constructeur .

Constructeurs

TreeNode()

Initialise une nouvelle instance de la classe TreeNode sans texte ni valeur.

TreeNode(String)

Initialise une nouvelle instance de la classe TreeNode avec le texte spécifié.

TreeNode(String, String)

Initialise une nouvelle instance de la classe TreeNode à l'aide du texte et de la valeur spécifiés.

TreeNode(String, String, String)

Initialise une nouvelle instance de la classe TreeNode à l'aide du texte, de la valeur et de l'URL d'image spécifiés.

TreeNode(String, String, String, String, String)

Initialise une nouvelle instance de la classe TreeNode à l'aide du texte, de la valeur, de l'URL d'image, de l'URL de navigation et de la cible spécifiés.

TreeNode(TreeView, Boolean)

Initialise une nouvelle instance de la classe TreeNode à l'aide du propriétaire spécifié.

Propriétés

Checked

Obtient ou définit une valeur qui indique si la case à cocher du nœud est activée.

ChildNodes

Obtient une collection TreeNodeCollection qui contient les nœuds enfants de premier niveau du nœud actuel.

DataBound

Obtient une valeur qui indique si le nœud a été créé via une liaison de données.

DataItem

Obtient l'élément de données qui est lié au contrôle.

DataPath

Obtient le chemin d'accès aux données liées au nœud.

Depth

Obtient la profondeur du nœud.

Expanded

Obtient ou définit une valeur qui indique si le nœud est développé.

ImageToolTip

Obtient ou définit le texte d'info-bulle pour l'image affichée en regard d'un nœud.

ImageUrl

Obtient ou définit l'URL vers une image qui est affichée en regard du nœud.

IsTrackingViewState

Obtient une valeur qui indique si le nœud enregistre les modifications apportées à son état d'affichage.

NavigateUrl

Obtient ou définit l'URL à laquelle accéder lorsqu'un clic est effectué sur le nœud.

Parent

Obtient le nœud parent du nœud actuel.

PopulateOnDemand

Obtient ou définit une valeur qui indique si le nœud est rempli dynamiquement.

SelectAction

Obtient ou définit l'événement ou les événements à déclencher lorsqu'un nœud est sélectionné.

Selected

Obtient ou définit une valeur qui indique si le nœud est sélectionné.

ShowCheckBox

Obtient ou définit une valeur qui indique si une case à cocher est affichée en regard du nœud.

Target

Obtient ou définit la fenêtre ou frame cible dans lequel afficher le contenu de la page Web associé à un nœud.

Text

Obtient ou définit le texte affiché pour le nœud dans le contrôle TreeView.

ToolTip

Obtient ou définit le texte d'info-bulle pour le nœud.

Value

Obtient ou définit une valeur non affichée utilisée pour stocker des données supplémentaires relatives au nœud, telles que les données utilisées pour la gestion des événements de publication.

ValuePath

Obtient le chemin d'accès du nœud racine vers le nœud actuel.

Méthodes

Clone()

Crée une nouvelle instance de la classe TreeNode avec les propriétés de l'instance de TreeNode actuelle.

Collapse()

Réduit le nœud d'arbre actuel.

CollapseAll()

Réduit le nœud actuel et tous ses nœuds enfants.

Equals(Object)

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

(Hérité de Object)
Expand()

Développe le nœud d'arbre actuel.

ExpandAll()

Développe le nœud actuel et tous ses nœuds enfants.

GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
LoadViewState(Object)

Charge l'état d'affichage précédemment enregistré du nœud.

MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
RenderPostText(HtmlTextWriter)

Permet aux développeurs de contrôles d'ajouter un rendu supplémentaire au nœud.

RenderPreText(HtmlTextWriter)

Permet aux développeurs de contrôles d'ajouter un rendu supplémentaire au nœud.

SaveViewState()

Enregistre l'état d'affichage actuel du nœud.

Select()

Sélectionne le nœud actuel dans le contrôle TreeView.

ToggleExpandState()

Alterne entre l'état développé et réduit du nœud.

ToString()

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

(Hérité de Object)
TrackViewState()

Marque le point de début du suivi et de l'enregistrement des modifications d'état d'affichage apportées au nœud.

Implémentations d’interfaces explicites

ICloneable.Clone()

Crée une copie de l'objet TreeNode.

IStateManager.IsTrackingViewState

Pour obtenir une description de ce membre, consultez IsTrackingViewState.

IStateManager.LoadViewState(Object)

Charge l'état d'affichage précédemment enregistré du nœud.

IStateManager.SaveViewState()

Enregistre les modifications d'état d'affichage apportées à un Object.

IStateManager.TrackViewState()

Demande à l’objet TreeNode d'assurer le suivi des modifications apportées à son état d'affichage.

S’applique à

Voir aussi