TreeNodeBinding.PopulateOnDemand Ö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.
Nesnenin uygulandığı düğümün TreeNodeBinding dinamik olarak doldurulup doldurulmadığını belirten bir değer alır veya ayarlar.
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
Özellik Değeri
true nesnesinin dinamik olarak uygulandığı düğümü doldurmak için TreeNodeBinding ; aksi takdirde , false. Varsayılan değer: false.
Örnekler
Bu bölüm iki kod örneği içerir. İlk kod örneği, bir düğüm için onay kutusunun görüntülenip görüntülenmeyeceğini ShowCheckBox belirtmek için özelliğinin nasıl kullanılacağını gösterir. İkinci kod örneği, ilk kod örneği için örnek XML verileri sağlar.
Aşağıdaki örnekte, bir düğüm için onay kutusunun görüntülenip görüntülenmeyeceğini ShowCheckBox belirtmek için özelliğinin nasıl kullanılacağı gösterilmektedir. Bu örneğin doğru çalışması için, bu kod örneğinden sonra sağlanan örnek XML verilerini Book.xmladlı 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 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>
Aşağıdaki kod örneği, önceki kod örneği için örnek XML verileri sağlar.
<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>
Açıklamalar
Bazen, kullanıcı girişine bağlı veri boyutu veya özel içerik nedeniyle ağaç yapısını statik olarak önceden tanımlanmış olarak ayarlamak pratik olmaz. Bu nedenle, TreeView denetim dinamik düğüm popülasyonunu destekler.
PopulateOnDemand özelliği olarak trueayarlandığında, nesnenin uygulandığı düğümün TreeNodeBinding alt düğümleri, düğüm genişletildiğinde çalışma zamanında doldurulur.
Veri bağlamaları denetimi trueolarak ayarlanarak AutoGenerateDataBindingsTreeView oluşturulduğunda, oluşturulan PopulateOnDemand bağlamaların özelliği olarak trueayarlanır. Bildirimli olarak PopulateOnDemand oluşturulan veri bağlamalarının özelliği olarak ayarlanmıştır false. Bildirim temelli söz dizimini kullanmak, tek tek veri bağlamalarının davranışını denetlemenize olanak tanır.
Uyarı
PopulateOnDemand sınıfının özelliğinden TreeNode farklı olarak, PopulateOnDemand gibi XmlDataSourcebir veri kaynağı denetimi kullanıyorsanız, özelliği olay için bir olay işleme yönteminin TreeNodePopulate tanımlanmasını gerektirmez. Bunun yerine denetim, koleksiyondaki TreeViewDataBindings nesnelerin özelliklerini TreeNodeBinding kullanarak dinamik olarak bir olay işleme yöntemi oluşturur. Yine de olay için TreeNodePopulate bir olay işleme yöntemi tanımlayabilirsiniz; ancak, denetim için TreeView olay işleme yönteminden sonra çağrılır.
Desteklenen tarayıcılar istemci tarafı düğüm popülasyonu avantajından da yararlanabilir. Etkinleştirildiğinde, bu düğüm genişletildiğinde denetimin TreeView istemcideki bir düğümü dinamik olarak doldurmasına olanak tanır ve sunucuya geri gönderme gereksinimini önler. İstemci tarafı düğüm popülasyonu hakkında daha fazla bilgi için bkz PopulateNodesFromClient. .
Bu özelliğin değeri görünüm durumunda depolanır.