TreeNode.Expanded Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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é
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 True
sur ; 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 True
sur ; par conséquent Null
, et False
passe par l’instruction If
.
if( TreeView1.Nodes[0].Expanded == true ) { //some work here}