TreeNodeBinding.PopulateOnDemand Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft einen Wert ab, der angibt, ob der Knoten, auf den das TreeNodeBinding-Objekt angewendet wird, dynamisch aufgefüllt wird, oder legt diesen Wert fest.
public:
property bool PopulateOnDemand { bool get(); void set(bool value); };
public bool PopulateOnDemand { get; set; }
member this.PopulateOnDemand : bool with get, set
Public Property PopulateOnDemand As Boolean
Eigenschaftswert
true
, um den Knoten, auf den das TreeNodeBinding-Objekt angewendet wird, dynamisch aufzufüllen, andernfalls false
. Der Standardwert ist false
.
Beispiele
Dieser Abschnitt enthält zwei Codebeispiele. Im ersten Codebeispiel wird veranschaulicht, wie die ShowCheckBox -Eigenschaft verwendet wird, um anzugeben, ob ein Kontrollkästchen für einen Knoten angezeigt wird. Das zweite Codebeispiel enthält XML-Beispieldaten für das erste Codebeispiel.
Im folgenden Beispiel wird veranschaulicht, wie die ShowCheckBox -Eigenschaft verwendet wird, um anzugeben, ob ein Kontrollkästchen für einen Knoten angezeigt wird. Damit dieses Beispiel ordnungsgemäß funktioniert, müssen Sie die XML-Beispieldaten, die nach diesem Codebeispiel bereitgestellt werden, in eine Datei mit dem Namen Book.xml kopieren.
<%@ 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 Page_Load(Object sender, EventArgs e)
{
// Create a TreeNodeBinding object and set its
// properties.
TreeNodeBinding binding = new TreeNodeBinding();
binding.DataMember = "Section";
binding.Depth = 2;
binding.TextField = "Heading";
// Set the PopulateOnDemand property of the
// TreeNodeBinding object programmatically.
binding.PopulateOnDemand = false;
// Add the TreeNodeBinding object to the DataBindings
// collection of the TreeView control.
BookTreeView.DataBindings.Add(binding);
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>TreeNodeBinding PopulateOnDemand Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TreeNodeBinding PopulateOnDemand Example</h3>
<asp:TreeView id="BookTreeView"
DataSourceID="BookXmlDataSource"
ExpandDepth="2"
runat="server">
<DataBindings>
<asp:TreeNodeBinding DataMember="Book"
TextField="Title"/>
<asp:TreeNodeBinding DataMember="Chapter"
TextField="Heading"
PopulateOnDemand="False"/>
<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 Page_Load(ByVal sender As Object, ByVal e As EventArgs)
' Create a TreeNodeBinding object and set its
' properties.
Dim binding As TreeNodeBinding = New TreeNodeBinding
binding.DataMember = "Section"
binding.Depth = 2
binding.TextField = "Heading"
' Set the PopulateOnDemand property of the
' TreeNodeBinding object programmatically.
binding.PopulateOnDemand = False
' Add the TreeNodeBinding object to the DataBindings
' collection of the TreeView control.
BookTreeView.DataBindings.Add(binding)
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>TreeNodeBinding PopulateOnDemand Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TreeNodeBinding PopulateOnDemand Example</h3>
<asp:TreeView id="BookTreeView"
DataSourceID="BookXmlDataSource"
ExpandDepth="2"
runat="server">
<DataBindings>
<asp:TreeNodeBinding DataMember="Book"
TextField="Title"/>
<asp:TreeNodeBinding DataMember="Chapter"
TextField="Heading"
PopulateOnDemand="False"/>
<asp:TreeNodeBinding DataMember="Section"
TextField="Heading"/>
</DataBindings>
</asp:TreeView>
<asp:XmlDataSource id="BookXmlDataSource"
DataFile="Book.xml"
runat="server">
</asp:XmlDataSource>
</form>
</body>
</html>
Im folgenden Codebeispiel werden XML-Beispieldaten für das vorherige Codebeispiel bereitgestellt.
<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>
<Appendix Heading="Appendix A">
</Appendix>
</Book>
Hinweise
Manchmal ist es aufgrund der Datengröße oder benutzerdefinierten Inhalte, die von der Benutzereingabe abhängen, nicht praktikabel, die Struktur statisch vorzudefinieren. Aus diesem Fall unterstützt das Steuerelement die TreeView dynamische Knotenauffüllung. Wenn die PopulateOnDemand -Eigenschaft auf true
festgelegt ist, werden die untergeordneten Knoten des Knotens, auf den das TreeNodeBinding Objekt angewendet wird, zur Laufzeit aufgefüllt, wenn der Knoten erweitert wird.
Wenn Datenbindungen erstellt werden, indem sie das AutoGenerateDataBindings des TreeView -Steuerelements auf true
festlegen, ist für die erstellten Bindungen die PopulateOnDemand -Eigenschaft auf true
festgelegt. Bei Datenbindungen, die deklarativ erstellt werden, ist die PopulateOnDemand -Eigenschaft auf false
festgelegt. Mithilfe der deklarativen Syntax können Sie das Verhalten einzelner Datenbindungen steuern.
Hinweis
PopulateOnDemand Im Gegensatz zur -Eigenschaft der TreeNode -Klasse muss für die PopulateOnDemand -Eigenschaft keine Ereignisbehandlungsmethode für das TreeNodePopulate Ereignis definiert werden, wenn Sie ein Datenquellensteuerelement wie XmlDataSourceverwenden. Stattdessen generiert das TreeView Steuerelement dynamisch eine Ereignisbehandlungsmethode mithilfe der Eigenschaften der TreeNodeBinding Objekte in der DataBindings Auflistung. Sie können weiterhin eine Ereignisbehandlungsmethode für das TreeNodePopulate Ereignis definieren. Sie wird jedoch nach der Ereignisbehandlungsmethode für das TreeView -Steuerelement aufgerufen.
Unterstützte Browser können auch die clientseitige Knotenauffüllung nutzen. Wenn dies aktiviert ist, kann das TreeView Steuerelement einen Knoten dynamisch auf dem Client auffüllen, wenn dieser Knoten erweitert wird, sodass keine Postrückführung zum Server erforderlich ist. Weitere Informationen zur clientseitigen Knotenfüllung finden Sie unter PopulateNodesFromClient.
Der Wert dieser Eigenschaft wird im Ansichtszustand gespeichert.