TreeNode.Expanded Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví hodnotu, která označuje, zda uzel je rozbalený.
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)
Hodnota vlastnosti
true pokud je uzel rozbalený, false pokud uzel není rozbalený nebo null.
Příklady
Následující příklad kódu ukazuje, jak použít Expanded vlastnost k programovému rozšíření uzlu. Inicializuje všechny uzly s hloubkou jednoho do rozšířeného stavu. Všimněte si, že po rozbalení kořenového uzlu jsou jeho podřízené uzly již rozbalené. Aby tento příklad fungoval správně, musíte zkopírovat ukázková data XML níže do souboru s názvem 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>
Následující kód představuje ukázková data XML pro předchozí příklad.
<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>
Poznámky
Expanded Pomocí vlastnosti můžete určit nebo určit, zda je uzel rozbalený.
Uzel můžete rozbalit a sbalit voláním Expand metod a Collapse metod. Uzel a všechny jeho podřízené uzly můžete také rozbalit a sbalit voláním ExpandAll metod a CollapseAll metod.
Vzhledem k tomu, že Expanded je tato vlastnost tri-state, následující fragment kódu jazyka C# způsobí chybu kompilace:
protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
{
if (TreeView1.Nodes[0].Expanded)
{
// some work here
}
}
Zatímco VB.Net implicitně přetypuje Boolean hodnotu na , NullableBooleanC# ne. Proto je osvědčeným postupem explicitně zkontrolovat stav vlastnosti. Například následující příklady kódu v jazyce Visual Basic a C# explicitně otestují hodnotu Expanded vlastnosti.
Následující příklad kódu jazyka Visual Basic explicitně testuje hodnotu Expanded vlastnosti. Tento příklad testuje, zda Expanded je vlastnost nastavena na True; a False proto Nothing projít If příkazem.
If TreeView1.Nodes(0).Expanded = True Then 'some work hereEnd IF
Tento příklad kódu jazyka Expanded C# explicitně testuje hodnotu vlastnosti. Tento příklad testuje, zda Expanded je vlastnost nastavena na True; a False proto Null projít If příkazem.
if( TreeView1.Nodes[0].Expanded == true ) { //some work here}