TreeNode.Expanded Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Düğümün genişletilip genişletildiğini belirten bir değer alır veya ayarlar.
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)
Özellik Değeri
true
düğüm genişletildiyse, false
düğüm genişletilmemişse veya null
.
Örnekler
Aşağıdaki kod örneği, bir düğümü program aracılığıyla genişletmek için özelliğinin nasıl kullanılacağını Expanded gösterir. Derinliği bir olan tüm düğümleri genişletilmiş duruma başlatır. Kök düğüm genişletildiğinde alt düğümlerinin zaten genişletildiğini fark edin. Bu örneğin doğru çalışması için aşağıdaki örnek XML verilerini Book.xml adlı bir dosyaya kopyalamanız gerekir.
<%@ 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>
Aşağıdaki kod, önceki örnekteki örnek XML verileridir.
<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>
Açıklamalar
Düğümün Expanded genişletilip genişletileceğini belirtmek veya belirlemek için özelliğini kullanın.
Sırasıyla ve Collapse yöntemlerini çağırarak Expand düğümü genişletebilir ve daraltabilirsiniz. Ayrıca sırasıyla ve CollapseAll yöntemlerini çağırarak ExpandAll bir düğümü ve tüm alt düğümlerini genişletip daraltabilirsiniz.
Expanded özelliği bir üç durumlu özellik olduğundan, aşağıdaki C# kod parçacığı derleme hatasına neden olur:
protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
{
if (TreeView1.Nodes[0].Expanded)
{
// some work here
}
}
VB.Net örtük olarak değerini bir NullableBoolean
öğesine yayınlasa Boolean
da C# yazmaz. Bu nedenle, özelliğin durumunu açıkça denetlemek en iyi uygulamadır. Örneğin, Visual Basic ve C# içindeki aşağıdaki kod örnekleri özelliğin değerini açıkça test eder Expanded .
Aşağıdaki Visual Basic kod örneği, özelliğinin değerini açıkça test eder Expanded . Bu örnek, özelliğinin olarak True
ayarlanıp ayarlanmadığını Expanded test eder; bu nedenle Nothing
deyiminden False
If
geçer.
If TreeView1.Nodes(0).Expanded = True Then 'some work hereEnd IF
Bu C# kod örneği, özelliğinin değerini açıkça test eder Expanded . Bu örnek, özelliğinin olarak True
ayarlanıp ayarlanmadığını Expanded test eder; bu nedenle Null
deyiminden False
If
geçer.
if( TreeView1.Nodes[0].Expanded == true ) { //some work here}