TreeNode.Expanded Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan atau menetapkan nilai yang menunjukkan apakah simpul diperluas.
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)
Nilai Properti
true
jika simpul diperluas, false
jika simpul tidak diperluas, atau null
.
Contoh
Contoh kode berikut menunjukkan cara menggunakan Expanded properti untuk memperluas simpul secara terprogram. Ini menginisialisasi semua simpul dengan kedalaman satu hingga status diperluas. Perhatikan bahwa ketika simpul akar diperluas, simpul anaknya sudah diperluas. Agar contoh ini berfungsi dengan benar, Anda harus menyalin contoh data XML di bawah ini ke file bernama 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>
Kode berikut adalah contoh data XML untuk contoh sebelumnya.
<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>
Keterangan
Expanded Gunakan properti untuk menentukan atau menentukan apakah simpul diperluas.
Anda dapat memperluas dan menciutkan simpul dengan memanggil Expand metode dan Collapse masing-masing. Anda juga dapat memperluas dan menciutkan node dan semua simpul anaknya dengan memanggil ExpandAll metode dan CollapseAll masing-masing.
Expanded Karena properti adalah properti tiga status, cuplikan kode C# berikut menyebabkan kesalahan kompilasi:
protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
{
if (TreeView1.Nodes[0].Expanded)
{
// some work here
}
}
Meskipun VB.Net secara implisit melemparkan Boolean
nilai ke NullableBoolean
, C# tidak. Oleh karena itu, ini adalah praktik terbaik untuk secara eksplisit memeriksa status properti. Misalnya, contoh kode berikut di Visual Basic dan C# secara eksplisit menguji nilai Expanded properti.
Contoh kode Visual Basic berikut secara eksplisit menguji nilai Expanded properti. Contoh ini menguji apakah Expanded properti diatur ke True
; oleh karena itu Nothing
dan False
jatuh melalui If
pernyataan .
If TreeView1.Nodes(0).Expanded = True Then 'some work hereEnd IF
Contoh kode C# ini secara eksplisit menguji nilai Expanded properti. Contoh ini menguji apakah Expanded properti diatur ke True
; oleh karena itu Null
dan False
jatuh melalui If
pernyataan .
if( TreeView1.Nodes[0].Expanded == true ) { //some work here}