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.Gets or sets a value indicating whether the node to which the TreeNodeBinding object is applied is populated dynamically.

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

Boolean

true, um den Knoten, auf den das TreeNodeBinding-Objekt angewendet wird, dynamisch aufzufüllen, andernfalls false.true to populate the node to which the TreeNodeBinding object is applied dynamically; otherwise, false. Der Standardwert ist false.The default is false.

Beispiele

Dieser Abschnitt enthält zwei Codebeispiele.This section contains two code examples. Im ersten Codebeispiel wird veranschaulicht, wie die- ShowCheckBox Eigenschaft verwendet wird, um anzugeben, ob ein Kontrollkästchen für einen Knoten angezeigt wird.The first code example demonstrates how to use the ShowCheckBox property to specify whether a check box is displayed for a node. Im zweiten Codebeispiel werden Beispiel-XML-Daten für das erste Codebeispiel bereitstellt.The second code example provides sample XML data for the first code example.

Im folgenden Beispiel wird veranschaulicht, wie die- ShowCheckBox Eigenschaft verwendet wird, um anzugeben, ob ein Kontrollkästchen für einen Knoten angezeigt wird.The following example demonstrates how to use the ShowCheckBox property to specify whether a check box is displayed for a node. Damit dieses Beispiel ordnungsgemäß funktioniert, müssen Sie die Beispiel-XML-Daten, die nach diesem Codebeispiel bereitgestellt werden, in eine Datei mit dem Namen Book.xml kopieren.For this example to work correctly, you must copy the sample XML data, provided after this code example, to a file named 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>

Im folgenden Codebeispiel werden Beispiel-XML-Daten für das vorherige Codebeispiel bereitstellt.The following code example provides sample XML data for the preceding code example.

<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

In manchen Fällen ist es nicht praktikabel, die Struktur durch die Datengröße oder den benutzerdefinierten Inhalt, der von Benutzereingaben abhängt, statisch vorzudefinieren.Sometimes, it is not practical to statically predefine the tree structure due to data size or custom content that depends on user input. Aus diesem Grund unterstützt das-Steuerelement die TreeView dynamische Knoten Auffüllung.Because of this, the TreeView control supports dynamic node population. Wenn die- PopulateOnDemand Eigenschaft auf festgelegt ist true , werden die untergeordneten Knoten des Knotens, auf den das- TreeNodeBinding Objekt angewendet wird, zur Laufzeit aufgefüllt, wenn der Knoten erweitert wird.When the PopulateOnDemand property is set to true, the child nodes of the node that the TreeNodeBinding object is applied to gets populated at run time when the node is expanded.

Wenn Daten Bindungen erstellt werden, indem die AutoGenerateDataBindings des- TreeView Steuer Elements auf festgelegt true wird, wird für die erstellten Bindungen die- PopulateOnDemand Eigenschaft auf festgelegt true .When data bindings are created by setting the AutoGenerateDataBindings of the TreeView control to true, the bindings that are created have the PopulateOnDemand property set to true. Daten Bindungen, die deklarativ erstellt werden, haben die- PopulateOnDemand Eigenschaft auf festgelegt false .Data bindings that are created declaratively have the PopulateOnDemand property set to false. Mithilfe der deklarativen Syntax können Sie das Verhalten einzelner Daten Bindungen steuern.Using the declarative syntax allows you to control the behavior of individual data bindings.

Hinweis

Anders als bei der- PopulateOnDemand Eigenschaft der- TreeNode Klasse ist PopulateOnDemand es für die-Eigenschaft nicht erforderlich, dass für das-Ereignis eine Ereignis Behandlungsmethode definiert wird TreeNodePopulate , wenn Sie ein Datenquellen-Steuerelement verwenden, z XmlDataSource . b..Unlike the PopulateOnDemand property of the TreeNode class, the PopulateOnDemand property does not require an event-handling method to be defined for the TreeNodePopulate event, if you are using a data source control, such as XmlDataSource. Stattdessen generiert das- TreeView Steuerelement dynamisch eine Ereignis Behandlungsmethode mithilfe der Eigenschaften der- TreeNodeBinding Objekte in der-Auflistung DataBindings .Instead, the TreeView control dynamically generates an event-handling method using the properties of the TreeNodeBinding objects in the DataBindings collection. Sie können weiterhin eine Ereignis Behandlungsmethode für das- TreeNodePopulate Ereignis definieren. Sie wird jedoch nach der Ereignis Behandlungsmethode für das-Steuerelement aufgerufen TreeView .You can still define an event-handling method for the TreeNodePopulate event; however, it will be called after the event-handling method for the TreeView control.

Unterstützte Browser können auch die Client seitige Knoten Population nutzen.Supported browsers can also take advantage of client-side node population. Wenn diese Option aktiviert ist, kann das TreeView Steuerelement einen Knoten dynamisch auf dem Client auffüllen, wenn dieser Knoten erweitert wird. Dadurch wird verhindert, dass ein Postback an den Server erfolgt.When enabled, this allows the TreeView control to populate a node dynamically on the client when that node is expanded, preventing the need to post back to the server. Weitere Informationen zur Client seitigen Knoten Population finden Sie unter PopulateNodesFromClient .For more information on client-side node population, see PopulateNodesFromClient.

Der Wert dieser Eigenschaft wird im Ansichts Zustand gespeichert.The value of this property is stored in view state.

Gilt für:

Siehe auch