Exporter (0) Imprimer
Développer tout

TreeView, classe

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

Affiche des données hiérarchiques, telles qu'une table des matières, dans une arborescence.

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

[ControlValuePropertyAttribute("SelectedValue")] 
public class TreeView : HierarchicalDataBoundControl, IPostBackEventHandler, IPostBackDataHandler, ICallbackEventHandler
/** @attribute ControlValuePropertyAttribute("SelectedValue") */ 
public class TreeView extends HierarchicalDataBoundControl implements IPostBackEventHandler, IPostBackDataHandler, 
	ICallbackEventHandler
ControlValuePropertyAttribute("SelectedValue") 
public class TreeView extends HierarchicalDataBoundControl implements IPostBackEventHandler, IPostBackDataHandler, 
	ICallbackEventHandler

Le contrôle TreeView est utilisé pour afficher des données hiérarchiques, telles qu'une table des matières ou un répertoire de fichiers, dans une arborescence et prend en charge les fonctionnalités suivantes :

  • Liaison de données qui permet aux nœuds du contrôle d'être lié à des données XML, sous forme de tableau ou relationnelles.

  • Navigation de site via l'intégration avec le contrôle SiteMapDataSource.

  • Texte de nœud qui peut être affiché comme texte brut ou liens hypertexte.

  • Accès par programme au modèle objet TreeView pour créer des arborescences, remplir des nœuds, définir des propriétés, etc. de manière dynamique.

  • Remplissage de nœud côté client (sur les navigateurs pris en charge).

  • Capacité d'afficher une case à cocher à côté de chaque nœud.

  • Apparence personnalisable grâce aux thèmes, aux images définies par l'utilisateur et aux styles.

Nœud

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. Les types de nœuds sont définis de la manière suivante :

  • Un nœud qui contient d'autres nœuds est appelé un nœud parent.

  • Un nœud qui est 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.

  • Le nœud qui n'est contenu dans 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 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 unique, comme dans une liste de catégories de produits.

Chaque nœud a une propriété Text et une propriété Value. La valeur de la propriété Text est affichée dans TreeView, tandis que la propriété Value permet de stocker toutes les données supplémentaires relatives au nœud, telles que les données qui sont passées à l'événement de publication qui est associé au nœud.

Un nœud peut se présenter sous l'un des deux modes suivants : mode de sélection et 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.

Données statiques

Le modèle de données le plus simple du contrôle TreeView correspond aux données statiques. Pour afficher les données statiques à l'aide d'une syntaxe déclarative, commencez par imbriquer les balises <Nodes> d'ouverture et de fermeture entre les balises d'ouverture et de fermeture du contrôle TreeView. Ensuite, créez l'arborescence en imbriquant les éléments <asp:TreeNode> entre les balises <Nodes> d'ouverture et de fermeture. Chaque élément <asp:TreeNode> représente un nœud dans l'arborescence et correspond à un objet TreeNode. Vous pouvez définir les propriétés de chaque nœud en définissant les attributs de son élément <asp:TreeNode>. Pour créer des nœuds enfants, imbriquez des éléments <asp:TreeNode> supplémentaires entre les balises <asp:TreeNode> d'ouverture et de fermeture du nœud parent.

Liaison de données

Le contrôle TreeView peut également être lié aux données. Vous pouvez utiliser l'une des deux méthodes suivantes pour lier le contrôle TreeView au type de source de données approprié :

  • Le contrôle TreeView peut utiliser des contrôles de source de données qui implémentent l'interface IHierarchicalDataSource, tels qu'un contrôle XmlDataSource ou un contrôle SiteMapDataSource. Pour créer une liaison avec un contrôle de source de données, affectez à la propriété DataSourceID du contrôle TreeView la valeur ID du contrôle de source de données. Le contrôle TreeView se lie automatiquement au contrôle de source de données spécifié. Il s'agit de la méthode recommandée de liaison aux données.

  • Le contrôle TreeView peut également être lié à un objet XmlDocument ou à un objet DataSet avec des relations. Pour lier à une de ces sources de données, affectez la source de données à la propriété DataSource du contrôle TreeView, puis appelez la méthode DataBind.

Lors d'une liaison à une source de données dans laquelle chaque élément de données contient plusieurs propriétés (tel qu'un élément XML avec plusieurs attributs), un nœud affiche par défaut la valeur qui est retournée par la méthode ToString de l'élément de données. 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 à l'aide de la collection DataBindings. La collection 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é. Vous pouvez spécifier les critères de liaison et la propriété de l'élément de données afficher dans le nœud. Pour plus d'informations sur les liaisons de nœud d'arbre, consultez TreeNodeBinding.

Remarque de sécuritéRemarque de sécurité

Un utilisateur malveillant peut créer une demande de rappel et obtenir des données pour les nœuds du contrôle TreeView que le développeur de pages n'affiche pas. Par conséquent, la sécurité des données doit être implémentée par la source de données. N'utilisez pas la propriété MaxDataBindDepth pour masquer des données.

Remplissage de nœuds dynamique

Il n'est pas toujours facile de définir statiquement l'arborescence parce que la source de données retourne trop de données ou parce que les données à afficher dépendent des informations que vous obtenez au moment de l'exécution. De ce fait, le contrôle TreeView prend en charge le remplissage dynamique de nœuds. Lorsque la propriété PopulateOnDemand pour un nœud a la valeur true, ce nœud est rempli au moment de l'exécution lorsqu'il est développé. Pour remplir un nœud dynamiquement, vous devez définir une méthode de gestion d'événements qui contient la logique pour remplir un nœud pour l'événement TreeNodePopulate.

Microsoft Internet Explorer versions 5.0 et ultérieures et Netscape versions 6.0 et ultérieures peuvent également tirer parti du remplissage de nœuds côté client. Le remplissage de nœuds côté client permet au contrôle TreeView de remplir un nœud à l'aide du script client lorsque les utilisateurs développent le nœud, sans nécessiter d'aller-retour avec le serveur. Pour plus d'informations sur le remplissage de nœuds côté client, consultez PopulateNodesFromClient.

Personnalisation de l'interface utilisateur

Il existe plusieurs manières de personnaliser l'apparence du contrôle TreeView. Vous pouvez tout d'abord spécifier un style différent (par exemple une taille et une couleur de police) pour chacun des types de nœuds. Le tableau suivant répertorie les styles de nœud disponibles.

Propriété de style du nœud

Description

HoverNodeStyle

Paramètres de style d'un nœud lorsque le pointeur de la souris est positionné dessus.

LeafNodeStyle

Paramètres de style des nœuds feuille.

NodeStyle

Paramètres de style par défaut d'un nœud.

ParentNodeStyle

Paramètres de style des nœuds parents.

RootNodeStyle

Paramètres de style du nœud racine.

SelectedNodeStyle

Paramètres de style d'un nœud sélectionné.

Vous pouvez également contrôler le style des nœuds à des profondeurs spécifiques dans l'arborescence en utilisant la collection LevelStyles. Le premier style de la collection correspond au style des nœuds au premier niveau de l'arborescence. Le deuxième style de la collection correspond au style des nœuds au deuxième niveau de l'arborescence, etc. Ceci est le plus souvent utilisé pour générer des menus de navigation de style table des matières où les nœuds, à une certaine profondeur, doivent avoir la même apparence, qu'ils aient ou non des nœuds enfants.

RemarqueRemarque

Si un style est défini pour un certain niveau de profondeur à l'aide de la collection LevelStyles, ce style substitue tout paramètre de style de nœud racine, parent ou feuille pour les nœuds à cette profondeur.

La personnalisation des images qui sont affichées dans le contrôle TreeView est une autre manière de modifier l'apparence du contrôle. Vous pouvez spécifier votre propre ensemble d'images personnalisé pour les différentes parties du contrôle en définissant les propriétés présentées dans le tableau suivant.

Propriété d'image

Description

CollapseImageUrl

URL vers une image affichée pour l'indicateur de nœud réductible. En général, cette image est un signe moins (-).

ExpandImageUrl

URL vers une image affichée pour l'indicateur de nœud développable. En général, cette image est un signe plus (+).

LineImagesFolder

URL vers le dossier contenant les images de ligne utilisées pour connecter des nœuds parents à des nœuds enfants. La propriété ShowLines doit également avoir la valeur true pour que cette propriété ait un effet.

NoExpandImageUrl

URL vers une image affichée pour l'indicateur de nœud non développable.

RemarqueRemarque

Vous n'avez pas besoin de personnaliser chaque propriété d'image. Si une propriété d'image n'est pas définie explicitement, l'image par défaut intégrée est utilisée.

Le contrôle TreeView vous permet également d'afficher une case à cocher à côté d'un nœud. Lorsque la propriété ShowCheckBoxes a une valeur différente de TreeNodeTypes.None, les cases à cocher sont affichées en regard des types de nœuds spécifiés.

RemarqueRemarque

Une combinaison d'opérations de bits des valeurs de membre de l'énumération TreeNodeTypes peut être affectée à la propriété ShowCheckBoxes.

Chaque fois que la page est publiée sur le serveur, la collection CheckedNodes est automatiquement remplie avec les nœuds sélectionnés. Lorsque les cases à cocher sont affichées, vous pouvez utiliser l'événement TreeNodeCheckChanged pour exécuter une routine personnalisée chaque fois que l'état d'une case à cocher est modifié entre les publications sur le serveur.

Événements

Le contrôle TreeView fournit plusieurs événements que vous pouvez programmer. Cela vous permet d'exécuter une routine personnalisée lorsqu'un événement se produit. Le tableau suivant répertorie les événements qui sont pris en charge par le contrôle TreeView.

Événement

Description

TreeNodeCheckChanged

Se produit lorsque l'état des cases à cocher du contrôle TreeView est modifié entre des publications sur le serveur.

SelectedNodeChanged

Se produit lorsqu'un nœud est sélectionné dans le contrôle TreeView.

TreeNodeExpanded

Se produit lorsqu'un nœud est développé dans le contrôle TreeView.

TreeNodeCollapsed

Se produit lorsqu'un nœud est réduit dans le contrôle TreeView.

TreeNodePopulate

Se produit lorsqu'un nœud dont la propriété PopulateOnDemand a la valeur true est développé dans le contrôle TreeView.

TreeNodeDataBound

Se produit lorsqu'un élément de données est lié à un nœud dans le contrôle TreeView.

Accessibilité

Le balisage rendu par défaut pour ce contrôle peut ne pas se conformer aux normes d'accessibilité telles que les instructions de priorité 1 d'accessibilité du contenu Web (WCAG, Web Content Accessibility Guidelines). Pour plus d'informations sur la prise en charge d'accessibilité pour ce contrôle, consultez Contrôles et accessibilité ASP.NET.

Défilement

Le contrôle TreeView ne dispose d'aucune fonction de défilement intégrée. Pour ajouter un défilement, placez le contrôle TreeView dans un contrôle Panel et ajoutez des barres de défilement au contrôle Panel. Pour plus d'informations, consultez Vue d'ensemble du contrôle serveur Web Panel.

RubriqueEmplacement
Procédure pas à pas : affichage de données hiérarchiques dans un contrôle TreeViewGénération d'applications Web ASP.NET dans Visual Studio
Comment : ajouter ou supprimer des éléments de nœud TreeView (Visual Studio)Génération d'applications Web ASP.NET dans Visual Studio
Procédure pas à pas : ajout de la navigation de site à un site WebGénération d'applications Web ASP.NET dans Visual Studio
Procédure pas à pas : filtrage des nœuds sitemap en fonction des rôles de sécuritéGénération d'applications Web ASP.NET dans Visual Studio
Procédure pas à pas : personnalisation d'un site Web à l'aide de thèmes dans Visual StudioGénération d'applications Web ASP.NET dans Visual Studio
Procédure pas à pas : ajout de la navigation de site à un site WebGénération d'applications à l'aide de Visual Web Developer
Procédure pas à pas : personnalisation d'un site Web à l'aide de thèmes dans Visual StudioGénération d'applications à l'aide de Visual Web Developer
Comment : énumérer par programme des nœuds sitemapGénération d'applications Web ASP.NET dans Visual Studio
Comment : ajouter ou supprimer des éléments de nœuds TreeViewGénération d'applications Web ASP.NET dans Visual Studio
Comment : configurer plusieurs plans de sites et fournisseurs sitemapGénération d'applications Web ASP.NET dans Visual Studio
Comment : filtrer les nœuds récupérés par les contrôles serveur Web SiteMapDataSourceGénération d'applications Web ASP.NET dans Visual Studio
Procédure pas à pas : affichage de données hiérarchiques dans un contrôle TreeViewGénération d'applications Web ASP.NET dans Visual Studio
Procédure pas à pas : filtrage des nœuds sitemap en fonction des rôles de sécuritéGénération d'applications Web ASP.NET dans Visual Studio
Comment : personnaliser l'apparence des contrôles serveur Web SiteMapPathGénération d'applications Web ASP.NET dans Visual Studio
Comment : afficher des données sitemap dans des contrôles serveur Web non hiérarchiquesGénération d'applications Web ASP.NET dans Visual Studio
Comment : ajouter la navigation de site simpleGénération d'applications Web ASP.NET dans Visual Studio
Comment : implémenter des fournisseurs sitemap ASP.NETGénération d'applications Web ASP.NET dans Visual Studio
Comment : énumérer par programme des nœuds sitemapGénération d'applications Web ASP.NET
Comment : filtrer les nœuds récupérés par les contrôles serveur Web SiteMapDataSourceGénération d'applications Web ASP.NET
Comment : configurer plusieurs plans de sites et fournisseurs sitemapGénération d'applications Web ASP.NET
Comment : implémenter des fournisseurs sitemap ASP.NETGénération d'applications Web ASP.NET
Comment : personnaliser l'apparence des contrôles serveur Web SiteMapPathGénération d'applications Web ASP.NET
Comment : afficher des données sitemap dans des contrôles serveur Web non hiérarchiquesGénération d'applications Web ASP.NET
Comment : ajouter la navigation de site simpleGénération d'applications Web ASP.NET
Comment : énumérer par programme des nœuds sitemapGénération d'applications Web ASP.NET dans Visual Studio
Comment : ajouter ou supprimer des éléments de nœuds TreeViewGénération d'applications Web ASP.NET dans Visual Studio
Comment : configurer plusieurs plans de sites et fournisseurs sitemapGénération d'applications Web ASP.NET dans Visual Studio
Comment : filtrer les nœuds récupérés par les contrôles serveur Web SiteMapDataSourceGénération d'applications Web ASP.NET dans Visual Studio
Procédure pas à pas : affichage de données hiérarchiques dans un contrôle TreeViewGénération d'applications Web ASP.NET dans Visual Studio
Procédure pas à pas : filtrage des nœuds sitemap en fonction des rôles de sécuritéGénération d'applications Web ASP.NET dans Visual Studio
Comment : personnaliser l'apparence des contrôles serveur Web SiteMapPathGénération d'applications Web ASP.NET dans Visual Studio
Comment : afficher des données sitemap dans des contrôles serveur Web non hiérarchiquesGénération d'applications Web ASP.NET dans Visual Studio
Comment : ajouter la navigation de site simpleGénération d'applications Web ASP.NET dans Visual Studio
Comment : implémenter des fournisseurs sitemap ASP.NETGénération d'applications Web ASP.NET dans Visual Studio

Cette section contient sept exemples de code :

  • Le premier exemple de code illustre comment configurer les frames pour le deuxième exemple de code.

  • Le deuxième exemple de code montre comment utiliser la syntaxe déclarative pour afficher des données statiques dans le contrôle TreeView.

  • Le troisième exemple de code montre comment lier le contrôle TreeView à une source de données XML.

  • Le quatrième exemple de code fournit un exemple de données XML pour le troisième exemple de code.

  • Le cinquième exemple de code montre comment utiliser le contrôle TreeView pour la navigation de site en le liant à un contrôle SiteMapDataSource.

  • Le sixième exemple de code fournit un exemple de données de plan de site pour le cinquième exemple de code.

  • Le septième exemple de code montre comment remplir les nœuds dans le contrôle TreeView à partir du client.

L'exemple de code suivant illustre comment configurer 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 montre comment utiliser la syntaxe déclarative pour afficher des données statiques 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>


L'exemple de code suivant montre comment lier le contrôle TreeView à une source de données XML. Pour que cet exemple fonctionne, vous devez copier l'exemple de données XML fourni après cet exemple de code 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 fournit un exemple de données XML pour l'exemple précédent.

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

L'exemple de code suivant montre comment utiliser le contrôle TreeView pour la navigation de site en le liant à un contrôle SiteMapDataSource. Pour que cet exemple fonctionne, vous devez copier l'exemple de données de plan de site fourni après cet exemple de code dans un fichier nommé Web.sitemap.


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

<html>
  <body>
    <form runat="server">
    
      <h3>TreeView AutoGenerateBindings Example</h3>
    
      <!-- Set the AutoGenerateBindings property -->
      <!-- to false declaratively to allow for   -->
      <!-- the user-defined Bindings collection. -->
      <asp:TreeView id="SiteTreeView" 
        DataSourceID="SiteMapSource"
        AutoGenerateDataBindings="False"
        runat="server">
        
        <DataBindings>
        
          <asp:TreeNodeBinding TextField="title" NavigateUrlField="url"/>
        
        </DataBindings>
            
      </asp:TreeView>
      
      <asp:SiteMapDataSource ID="SiteMapSource" runat="server"/>
         
    </form>
  </body>
</html>


L'exemple de code suivant fournit un exemple de données de plan de site pour l'exemple de code précédent.

<siteMap>
    <siteMapNode title="Home" description="Home" url="default.aspx">
        <siteMapNode title="Products" description="Products" url="Products.aspx">
            <siteMapNode title="Computers" url="Computers.aspx"/>
            <siteMapNode title="Accessories" url="Accessories.aspx"/>     
        </siteMapNode>
    </siteMapNode>
</siteMap>

L'exemple de code suivant montre comment remplir les nœuds dans le contrôle TreeView à partir du client. Lorsque le remplissage de nœuds côté client est activé, les nœuds sont dynamiquement remplis sur le client, sans avoir besoin de publier sur le serveur.


<%@ Page Language="C#" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>

<script runat="server">

  void PopulateNode(Object sender, TreeNodeEventArgs e)
  {

    // Call the appropriate method to populate a node at a particular level.
    switch(e.Node.Depth)
    {
      case 0:
        // Populate the first-level nodes.
        PopulateCategories(e.Node);
        break;
      case 1:
        // Populate the second-level nodes.
        PopulateProducts(e.Node);
        break;
      default:
        // Do nothing.
        break;
    }
    
  }

  void PopulateCategories(TreeNode node)
  {
    
    // Query for the product categories. These are the values
    // for the second-level nodes.
    DataSet ResultSet = RunQuery("Select CategoryID, CategoryName From Categories");

    // Create the second-level nodes.
    if(ResultSet.Tables.Count > 0)
    {
    
      // Iterate through and create a new node for each row in the query results.
      // Notice that the query results are stored in the table of the DataSet.
      foreach (DataRow row in ResultSet.Tables[0].Rows)
      {
        
        // Create the new node. Notice that the CategoryId is stored in the Value property 
        // of the node. This will make querying for items in a specific category easier when
        // the third-level nodes are created. 
        TreeNode newNode = new TreeNode();
        newNode.Text = row["CategoryName"].ToString(); 
        newNode.Value = row["CategoryID"].ToString();        

        // Set the PopulateOnDemand property to true so that the child nodes can be 
        // dynamically populated.
        newNode.PopulateOnDemand = true;
        
        // Set additional properties for the node.
        newNode.SelectAction = TreeNodeSelectAction.Expand;
        
        // Add the new node to the ChildNodes collection of the parent node.
        node.ChildNodes.Add(newNode);
        
      }
      
    }
    
  }

  void PopulateProducts(TreeNode node)
  {

    // Query for the products of the current category. These are the values
    // for the third-level nodes.
    DataSet ResultSet = RunQuery("Select ProductName From Products Where CategoryID=" + node.Value);

    // Create the third-level nodes.
    if(ResultSet.Tables.Count > 0)
    {
    
      // Iterate through and create a new node for each row in the query results.
      // Notice that the query results are stored in the table of the DataSet.
      foreach (DataRow row in ResultSet.Tables[0].Rows)
      {
      
        // Create the new node.
        TreeNode NewNode = new TreeNode(row["ProductName"].ToString());
        
        // Set the PopulateOnDemand property to false, because these are leaf nodes and
        // do not need to be populated.
        NewNode.PopulateOnDemand = false;
        
        // Set additional properties for the node.
        NewNode.SelectAction = TreeNodeSelectAction.None;
        
        // Add the new node to the ChildNodes collection of the parent node.
        node.ChildNodes.Add(NewNode);
        
      }
      
    }

  }

  DataSet RunQuery(String QueryString)
  {

    // Declare the connection string. This example uses Microsoft SQL Server 
    // and connects to the Northwind sample database.
    String ConnectionString = "server=localhost;database=NorthWind;Integrated Security=SSPI"; 

    SqlConnection DBConnection = new SqlConnection(ConnectionString);
    SqlDataAdapter DBAdapter;
    DataSet ResultsDataSet = new DataSet();

    try
    {

      // Run the query and create a DataSet.
      DBAdapter = new SqlDataAdapter(QueryString, DBConnection);
      DBAdapter.Fill(ResultsDataSet);

      // Close the database connection.
      DBConnection.Close();

    }
    catch(Exception ex)
    {

      // Close the database connection if it is still open.
      if(DBConnection.State == ConnectionState.Open)
      {
        DBConnection.Close();
      }
      
      Message.Text = "Unable to connect to the database.";

    }

    return ResultsDataSet;

  }

</script>

<html>
  <body>
    <form runat="server">
    
      <h3>TreeView PopulateNodesFromClient Example</h3>
    
      <asp:TreeView id="LinksTreeView"
        Font-Name= "Arial"
        ForeColor="Blue"
        EnableClientScript="true"
        PopulateNodesFromClient="true"  
        OnTreeNodePopulate="PopulateNode"
        runat="server">
         
        <Nodes>
        
          <asp:TreeNode Text="Inventory" 
            SelectAction="Expand"  
            PopulateOnDemand="true"/>
        
        </Nodes>
        
      </asp:TreeView>
      
      <br><br>
      
      <asp:Label id="Message" runat="server"/>

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


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:
© 2015 Microsoft