TreeNodeBinding.PopulateOnDemand 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 označující, zda uzel, na který TreeNodeBinding je objekt použit, je naplněn dynamicky.
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
Hodnota vlastnosti
true
k naplnění uzlu, na který TreeNodeBinding je objekt použit dynamicky, false
v opačném případě . Výchozí formát je false
.
Příklady
Tato část obsahuje dva příklady kódu. První příklad kódu ukazuje, jak pomocí ShowCheckBox vlastnosti určit, zda se pro uzel zobrazí zaškrtávací políčko. Druhý příklad kódu poskytuje ukázková data XML pro první příklad kódu.
Následující příklad ukazuje, jak pomocí ShowCheckBox vlastnosti určit, zda se pro uzel zobrazí zaškrtávací políčko. Aby tento příklad fungoval správně, musíte zkopírovat ukázková data XML za tímto příkladem kódu 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 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>
Následující příklad kódu poskytuje ukázková data XML pro předchozí příklad kódu.
<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>
Poznámky
Někdy není praktické staticky předdefinovat stromovou strukturu kvůli velikosti dat nebo vlastnímu obsahu, který závisí na vstupu uživatele. Z tohoto TreeView důvodu ovládací prvek podporuje soubor dynamických uzlů.
PopulateOnDemand Pokud je vlastnost nastavena na true
, podřízené uzly uzlu, na který TreeNodeBinding je objekt použit, se naplní za běhu při rozbalení uzlu.
Při vytváření datových vazeb nastavením AutoGenerateDataBindingsTreeView ovládacího prvku na true
, vytvořené vazby mají vlastnost nastavenou PopulateOnDemand na true
. Datové vazby vytvořené deklarativně mají vlastnost nastavenou PopulateOnDemand na false
. Použití deklarativní syntaxe umožňuje řídit chování jednotlivých datových vazeb.
Poznámka
PopulateOnDemand Na rozdíl od vlastnosti TreeNode třídy PopulateOnDemand vlastnost nevyžaduje, aby byla pro TreeNodePopulate událost definována metoda zpracování událostí, pokud používáte ovládací prvek zdroje dat, například XmlDataSource. Místo toho TreeView ovládací prvek dynamicky generuje metodu zpracování událostí pomocí vlastností TreeNodeBinding objektů v kolekci DataBindings . Stále můžete definovat metodu zpracování událostí pro TreeNodePopulate událost, ale bude volána po metodě zpracování událostí pro TreeView ovládací prvek.
Podporované prohlížeče můžou také využívat základní soubor uzlů na straně klienta. Pokud je tato možnost povolená, umožní TreeView to ovládacímu prvku dynamicky naplnit uzel v klientovi, když je tento uzel rozbalený, čímž se zabrání nutnosti publikovat zpět na server. Další informace o souboru uzlů na straně klienta najdete v tématu PopulateNodesFromClient.
Hodnota této vlastnosti je uložena ve stavu zobrazení.