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 düzgün çalışması için, bu kod örneğinden sonra sağlanan örnek XML verilerini Book.xml adlı 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, veri boyutu veya kullanıcı girişine bağlı özel içerik nedeniyle ağaç yapısını statik olarak önceden tanımlı yapmak pratik değildir. Bu nedenle denetim dinamik TreeView düğüm popülasyonunu destekler.
PopulateOnDemand özelliği olarak true
ayarlandığında, nesnenin uygulandığı düğümün TreeNodeBinding alt düğümleri, düğüm genişletildiğinde çalışma zamanında doldurulur.
Veri bağlamaları denetimi true
olarak ayarlanarak AutoGenerateDataBindingsTreeView oluşturulduğunda, oluşturulan PopulateOnDemand bağlamaların özelliği olarak true
ayarlanmıştır. Bildirimli olarak PopulateOnDemand oluşturulan veri bağlamalarının özelliği olarak false
ayarlanmıştır. Bildirim temelli söz dizimini kullanmak, tek tek veri bağlamalarının davranışını denetlemenize olanak tanır.
Not
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 TreeNodePopulate tanımlanacak bir olay işleme yöntemi 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.