TreeNodeBinding.PopulateOnDemand Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of het knooppunt waarop het TreeNodeBinding object wordt toegepast dynamisch wordt gevuld.
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
Waarde van eigenschap
true om het knooppunt waarop het TreeNodeBinding object dynamisch wordt toegepast, te vullen; falseanders. De standaardwaarde is false.
Voorbeelden
Deze sectie bevat twee codevoorbeelden. In het eerste codevoorbeeld ziet u hoe u de ShowCheckBox eigenschap gebruikt om op te geven of er een selectievakje voor een knooppunt wordt weergegeven. Het tweede codevoorbeeld bevat voorbeeld-XML-gegevens voor het eerste codevoorbeeld.
In het volgende voorbeeld ziet u hoe u de ShowCheckBox eigenschap gebruikt om op te geven of een selectievakje wordt weergegeven voor een knooppunt. Als dit voorbeeld correct werkt, moet u de voorbeeld-XML-gegevens kopiëren, die na dit codevoorbeeld zijn opgegeven, naar een bestand met de naam 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 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>
Het volgende codevoorbeeld bevat voorbeeld-XML-gegevens voor het voorgaande codevoorbeeld.
<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>
Opmerkingen
Soms is het niet praktisch om statisch vooraf gedefinieerde structuur te maken vanwege de gegevensgrootte of aangepaste inhoud die afhankelijk is van gebruikersinvoer. Hierdoor ondersteunt het TreeView besturingselement dynamische knooppuntpopulatie. Wanneer de PopulateOnDemand eigenschap is ingesteld op true, worden de onderliggende knooppunten van het knooppunt waarop het TreeNodeBinding object wordt toegepast tijdens runtime ingevuld wanneer het knooppunt wordt uitgevouwen.
Wanneer gegevensbindingen worden gemaakt door het AutoGenerateDataBindingsTreeView besturingselement in te truestellen op, zijn PopulateOnDemand de gemaakte bindingen ingesteld op true. Gegevensbindingen die declaratief worden gemaakt, hebben de PopulateOnDemand eigenschap ingesteld op false. Met behulp van de declaratieve syntaxis kunt u het gedrag van afzonderlijke gegevensbindingen beheren.
Note
In tegenstelling tot de PopulateOnDemand eigenschap van de TreeNode klasse, vereist de PopulateOnDemand eigenschap geen methode voor gebeurtenisafhandeling voor de TreeNodePopulate gebeurtenis, als u een besturingselement voor gegevensbronnen gebruikt, zoals XmlDataSource. In plaats daarvan genereert het TreeView besturingselement dynamisch een methode voor gebeurtenisafhandeling met behulp van de eigenschappen van de TreeNodeBinding objecten in de DataBindings verzameling. U kunt nog steeds een methode voor gebeurtenisafhandeling voor de TreeNodePopulate gebeurtenis definiëren. Deze wordt echter aangeroepen na de methode voor het afhandelen van gebeurtenissen voor het TreeView besturingselement.
Ondersteunde browsers kunnen ook profiteren van de populatie van knooppunten aan de clientzijde. Als dit is ingeschakeld, kan het TreeView besturingselement een knooppunt dynamisch op de client vullen wanneer dat knooppunt wordt uitgevouwen, waardoor het niet nodig is om terug te posten naar de server. Zie voor meer informatie over de populatie PopulateNodesFromClientvan knooppunten aan de clientzijde.
De waarde van deze eigenschap wordt opgeslagen in de weergavestatus.