Partager via


TreeNode.Expanded Propriété

Définition

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

public:
 property Nullable<bool> Expanded { Nullable<bool> get(); void set(Nullable<bool> value); };
public bool? Expanded { get; set; }
member this.Expanded : Nullable<bool> with get, set
Public Property Expanded As Nullable(Of Boolean)

Valeur de propriété

Nullable<Boolean>

true si le nœud est développé, false si le nœud n'est pas développé, ou null.

Exemples

L’exemple de code suivant montre comment utiliser la Expanded propriété pour développer un nœud par programmation. Il initialise tous les nœuds avec une profondeur d’un état développé. Notez que lorsque le nœud racine est développé, ses nœuds enfants sont déjà développés. Pour que cet exemple fonctionne correctement, vous devez copier les exemples de données XML ci-dessous dans un fichier nommé 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 Data_Bound(Object sender, TreeNodeEventArgs e)
  {

    // Determine the depth of a node as it is bound to data.
    // If the depth is 1, expand the node.
    if(e.Node.Depth == 1)
    {

      e.Node.Expanded = true;

    }
    else
    {

      e.Node.Expanded = false;

    }
  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>TreeNode Expanded Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>TreeNode Expanded Example</h3>
    
      <asp:TreeView id="BookTreeView" 
        DataSourceID="BookXmlDataSource"
        OnTreeNodeDataBound="Data_Bound"
        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">
<script runat="server">

    Sub Data_Bound(ByVal sender As Object, ByVal e As TreeNodeEventArgs)
        ' Determine the depth of a node as it is bound to data.
        ' If the depth is 1, expand the node.
        If e.Node.Depth = 1 Then
            e.Node.Expanded = True
        Else
            e.Node.Expanded = False
        End If
    End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>TreeNode Expanded Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>TreeNode Expanded Example</h3>
    
      <asp:TreeView id="BookTreeView" 
        DataSourceID="BookXmlDataSource"
        OnTreeNodeDataBound="Data_Bound"
        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>

Le code suivant est 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>  

Remarques

Utilisez la Expanded propriété pour spécifier ou déterminer si le nœud est développé.

Vous pouvez développer et réduire un nœud en appelant respectivement les méthodes et Collapse les Expand méthodes. Vous pouvez également développer et réduire un nœud et tous ses nœuds enfants en appelant respectivement les méthodes et CollapseAll les ExpandAll méthodes.

Étant donné que la Expanded propriété est une propriété tri-état, l’extrait de code C# suivant provoque une erreur de compilation :

protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)  
{  
if (TreeView1.Nodes[0].Expanded)  
{  
// some work here   
}  
}  

Bien que VB.Net convertit implicitement la Boolean valeur en un NullableBoolean, C# ne le fait pas. Par conséquent, il est recommandé de vérifier explicitement l’état de la propriété. Par exemple, les exemples de code suivants dans Visual Basic et C# testent explicitement la valeur de la Expanded propriété.

L’exemple de code Visual Basic suivant teste explicitement la valeur de la Expanded propriété. Cet exemple teste si la Expanded propriété est définie Truesur ; par conséquent Nothing , et False passe par l’instruction If .

If TreeView1.Nodes(0).Expanded = True Then 'some work hereEnd IF  

Cet exemple de code C# teste explicitement la valeur de la Expanded propriété. Cet exemple teste si la Expanded propriété est définie Truesur ; par conséquent Null , et False passe par l’instruction If .

if( TreeView1.Nodes[0].Expanded == true ) { //some work here}  

S’applique à

Voir aussi