Share via


TreeNodeBinding.PopulateOnDemand Özellik

Tanım

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 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 trueayarlanmıştır. Bildirimli olarak PopulateOnDemand oluşturulan veri bağlamalarının özelliği olarak falseayarlanmış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.

Şunlara uygulanır

Ayrıca bkz.