Share via


TreeNodeBinding.PopulateOnDemand Eigenschaft

Definition

Ruft einen Wert ab, der angibt, ob der Knoten, auf den das TreeNodeBinding-Objekt angewendet wird, dynamisch aufgefüllt wird, oder legt diesen Wert fest.

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

Eigenschaftswert

true, um den Knoten, auf den das TreeNodeBinding-Objekt angewendet wird, dynamisch aufzufüllen, andernfalls false. Der Standardwert ist false.

Beispiele

Dieser Abschnitt enthält zwei Codebeispiele. Im ersten Codebeispiel wird veranschaulicht, wie die ShowCheckBox -Eigenschaft verwendet wird, um anzugeben, ob ein Kontrollkästchen für einen Knoten angezeigt wird. Das zweite Codebeispiel enthält XML-Beispieldaten für das erste Codebeispiel.

Im folgenden Beispiel wird veranschaulicht, wie die ShowCheckBox -Eigenschaft verwendet wird, um anzugeben, ob ein Kontrollkästchen für einen Knoten angezeigt wird. Damit dieses Beispiel ordnungsgemäß funktioniert, müssen Sie die XML-Beispieldaten, die nach diesem Codebeispiel bereitgestellt werden, in eine Datei mit dem Namen Book.xml kopieren.


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

Im folgenden Codebeispiel werden XML-Beispieldaten für das vorherige Codebeispiel bereitgestellt.

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

Hinweise

Manchmal ist es aufgrund der Datengröße oder benutzerdefinierten Inhalte, die von der Benutzereingabe abhängen, nicht praktikabel, die Struktur statisch vorzudefinieren. Aus diesem Fall unterstützt das Steuerelement die TreeView dynamische Knotenauffüllung. Wenn die PopulateOnDemand -Eigenschaft auf truefestgelegt ist, werden die untergeordneten Knoten des Knotens, auf den das TreeNodeBinding Objekt angewendet wird, zur Laufzeit aufgefüllt, wenn der Knoten erweitert wird.

Wenn Datenbindungen erstellt werden, indem sie das AutoGenerateDataBindings des TreeView -Steuerelements auf truefestlegen, ist für die erstellten Bindungen die PopulateOnDemand -Eigenschaft auf truefestgelegt. Bei Datenbindungen, die deklarativ erstellt werden, ist die PopulateOnDemand -Eigenschaft auf falsefestgelegt. Mithilfe der deklarativen Syntax können Sie das Verhalten einzelner Datenbindungen steuern.

Hinweis

PopulateOnDemand Im Gegensatz zur -Eigenschaft der TreeNode -Klasse muss für die PopulateOnDemand -Eigenschaft keine Ereignisbehandlungsmethode für das TreeNodePopulate Ereignis definiert werden, wenn Sie ein Datenquellensteuerelement wie XmlDataSourceverwenden. Stattdessen generiert das TreeView Steuerelement dynamisch eine Ereignisbehandlungsmethode mithilfe der Eigenschaften der TreeNodeBinding Objekte in der DataBindings Auflistung. Sie können weiterhin eine Ereignisbehandlungsmethode für das TreeNodePopulate Ereignis definieren. Sie wird jedoch nach der Ereignisbehandlungsmethode für das TreeView -Steuerelement aufgerufen.

Unterstützte Browser können auch die clientseitige Knotenauffüllung nutzen. Wenn dies aktiviert ist, kann das TreeView Steuerelement einen Knoten dynamisch auf dem Client auffüllen, wenn dieser Knoten erweitert wird, sodass keine Postrückführung zum Server erforderlich ist. Weitere Informationen zur clientseitigen Knotenfüllung finden Sie unter PopulateNodesFromClient.

Der Wert dieser Eigenschaft wird im Ansichtszustand gespeichert.

Gilt für:

Weitere Informationen