Bagikan melalui


TreeNodeBinding.PopulateOnDemand Properti

Definisi

Mendapatkan atau menetapkan nilai yang menunjukkan apakah simpul tempat TreeNodeBinding objek diterapkan diisi secara dinamis.

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

Nilai Properti

true untuk mengisi simpul tempat TreeNodeBinding objek diterapkan secara dinamis; jika tidak, false. Default adalah false.

Contoh

Bagian ini berisi dua contoh kode. Contoh kode pertama menunjukkan cara menggunakan ShowCheckBox properti untuk menentukan apakah kotak centang ditampilkan untuk simpul. Contoh kode kedua menyediakan contoh data XML untuk contoh kode pertama.

Contoh berikut menunjukkan cara menggunakan ShowCheckBox properti untuk menentukan apakah kotak centang ditampilkan untuk simpul. Agar contoh ini berfungsi dengan benar, Anda harus menyalin data XML sampel, yang disediakan setelah contoh kode ini, ke file bernama 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>

Contoh kode berikut menyediakan contoh data XML untuk contoh kode sebelumnya.

<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>  

Keterangan

Terkadang, tidak praktis untuk menentukan struktur pohon secara statis karena ukuran data atau konten kustom yang tergantung pada input pengguna. Karena itu, TreeView kontrol mendukung populasi simpul dinamis. PopulateOnDemand Ketika properti diatur ke true, simpul anak dari simpul yang TreeNodeBinding diterapkan objek akan diisi pada durasi saat simpul diperluas.

Saat pengikatan data dibuat dengan mengatur AutoGenerateDataBindingsTreeView kontrol ke true, pengikatan yang dibuat memiliki PopulateOnDemand properti yang diatur ke true. Pengikatan data yang dibuat secara deklaratif memiliki properti yang PopulateOnDemand diatur ke false. Menggunakan sintaks deklaratif memungkinkan Anda mengontrol perilaku pengikatan data individual.

Catatan

PopulateOnDemand Tidak seperti properti TreeNode kelas , PopulateOnDemand properti tidak memerlukan metode penanganan peristiwa untuk didefinisikan untuk peristiwa tersebutTreeNodePopulate, jika Anda menggunakan kontrol sumber data, seperti XmlDataSource. Sebaliknya, TreeView kontrol secara dinamis menghasilkan metode penanganan peristiwa menggunakan properti TreeNodeBinding objek dalam DataBindings koleksi. Anda masih dapat menentukan metode penanganan peristiwa untuk peristiwa; TreeNodePopulate namun, itu akan dipanggil setelah metode penanganan peristiwa untuk TreeView kontrol.

Browser yang didukung juga dapat memanfaatkan populasi simpul sisi klien. Ketika diaktifkan, ini memungkinkan TreeView kontrol untuk mengisi simpul secara dinamis pada klien ketika simpul tersebut diperluas, mencegah kebutuhan untuk memposting kembali ke server. Untuk informasi selengkapnya tentang populasi simpul sisi klien, lihat PopulateNodesFromClient.

Nilai properti ini disimpan dalam status tampilan.

Berlaku untuk

Lihat juga