TreeView.DataBindings Property

Definition

Ottiene un insieme di oggetti TreeNodeBinding che definiscono la relazione tra un elemento di dati e il nodo a cui si sta effettuando l'associazione.Gets a collection of TreeNodeBinding objects that define the relationship between a data item and the node that it is binding to.

public:
 property System::Web::UI::WebControls::TreeNodeBindingCollection ^ DataBindings { System::Web::UI::WebControls::TreeNodeBindingCollection ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public System.Web.UI.WebControls.TreeNodeBindingCollection DataBindings { get; }
member this.DataBindings : System.Web.UI.WebControls.TreeNodeBindingCollection
Public ReadOnly Property DataBindings As TreeNodeBindingCollection

Property Value

TreeNodeBindingCollection

Oggetto TreeNodeBindingCollection che rappresenta la relazione tra un elemento di dati e il nodo a cui si sta effettuando l'associazione.A TreeNodeBindingCollection that represents the relationship between a data item and the node that it is binding to.

Attributes

Examples

In questa sezione sono riportati due esempi di codice.This section contains two code examples. Nel primo esempio di codice viene illustrato come utilizzare la raccolta DataBindings per definire la relazione tra un elemento di dati e il nodo a cui è associato.The first code example demonstrates how to use the DataBindings collection to define the relationship between a data item and the node that it is binding to. Il secondo esempio di codice fornisce dati XML di esempio per il primo esempio di codice.The second code example provides sample XML data for the first code example.

Nell'esempio di codice riportato di seguito viene illustrato come utilizzare la raccolta DataBindings per definire la relazione tra un elemento di dati e il nodo a cui viene associato.The following code example demonstrates how to use the DataBindings collection to define the relationship between a data item and the node that it is binding to. Per il corretto funzionamento di questo esempio, è necessario copiare i dati XML di esempio, forniti dopo questo esempio di codice, in un file denominato book. XML.For this example to work correctly, you must copy the sample XML data, provided after this code example, to a file named Book.xml. In questo esempio viene specificata solo la proprietà DataMember dell'associazione.This example specifies only the DataMember property of the binding. È possibile aggiungere un lieve miglioramento delle prestazioni, specificando anche la proprietà Depth.A slight performance gain could be added by also specifying the Depth property.


<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>TreeView XML Data Binding Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>TreeView XML Data Binding Example</h3>
    
      <asp:TreeView id="BookTreeView" 
        DataSourceID="BookXmlDataSource"
        runat="server">
         
        <DataBindings>
          <asp:TreeNodeBinding DataMember="Book" TextField="Title"/>
          <asp:TreeNodeBinding DataMember="Chapter" TextField="Heading"/>
          <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">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>TreeView XML Data Binding Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>TreeView XML Data Binding Example</h3>
    
      <asp:TreeView id="BookTreeView" 
        DataSourceID="BookXmlDataSource"
        runat="server">
         
        <DataBindings>
          <asp:TreeNodeBinding DataMember="Book" TextField="Title"/>
          <asp:TreeNodeBinding DataMember="Chapter" TextField="Heading"/>
          <asp:TreeNodeBinding DataMember="Section" TextField="Heading"/>
        </DataBindings>
         
      </asp:TreeView>

      <asp:XmlDataSource id="BookXmlDataSource"  
        DataFile="Book.xml"
        runat="server">
      </asp:XmlDataSource>
    
    </form>
  </body>
</html>

Nell'esempio di codice riportato di seguito vengono forniti dati XML di esempio per l'esempio precedente.The following code example provides sample XML data for the preceding 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>
</Book>

Remarks

La raccolta di DataBindings contiene TreeNodeBinding oggetti che definiscono la relazione tra un elemento di dati e il nodo a cui è vincolata.The DataBindings collection contains TreeNodeBinding objects that define the relationship between a data item and the node that it is binding to. Quando si esegue l'associazione a un'origine dati in cui ogni elemento dati contiene più proprietà (ad esempio un elemento XML con diversi attributi), per impostazione predefinita in un nodo viene visualizzato il valore restituito dal metodo ToString dell'elemento dati.When binding to a data source where each data item contains multiple properties (such as an XML element with several attributes), a node displays the value that is returned by the ToString method of the data item, by default. Nel caso di un elemento XML, il nodo Visualizza il nome dell'elemento, che mostra la struttura sottostante dell'albero, ma non è molto utile in caso contrario.In the case of an XML element, the node displays the element name, which shows the underlying structure of the tree, but is not very useful otherwise. È possibile associare un nodo a una proprietà specifica dell'elemento dati specificando associazioni di nodi della struttura ad albero.You can bind a node to a specific data item property by specifying tree node bindings.

Quando si definisce la relazione tra un elemento di dati e un nodo, è necessario specificare sia i criteri per l'associazione che i valori da associare alle proprietà dell'oggetto TreeNode.When defining the relationship between a data item and a node, you must specify both the criteria for binding and the values to bind to the properties of TreeNode object. I criteri indicano quando un elemento di dati deve essere associato a un nodo.The criteria indicate when a data item should be bound to a node. I criteri possono essere specificati con una profondità del nodo, un membro dati o entrambi.The criteria can be specified with a node depth, a data member, or both. Una profondità del nodo specifica il livello del nodo che viene associato.A node depth specifies the node level that gets bound. Se ad esempio si specifica una profondità del nodo pari a 0, tutti i nodi nella struttura ad albero al livello 0 vengono associati tramite l'associazione del nodo della struttura ad albero.For example, if you specify a node depth of 0, all nodes in the tree structure at level 0 are bound using the tree node binding. Un membro dati specifica il tipo dell'elemento di dati nell'origine dati sottostante, ma può rappresentare informazioni diverse a seconda dell'origine dati.A data member specifies the type of the data item in the underlying data source, but can represent different information depending on the data source. Ad esempio, il membro dati per un elemento XML specifica il nome dell'elemento.For example, the data member for an XML element specifies the name of the element.

Se vengono definiti più oggetti TreeNodeBinding che sono in conflitto tra loro, il controllo TreeView applica le associazioni del nodo della struttura ad albero nel seguente ordine di precedenza:If multiple TreeNodeBinding objects are defined that conflict with each other, the TreeView control applies the tree node bindings in the following order of precedence:

  1. Oggetto TreeNodeBinding che definisce una profondità e un membro dati.The TreeNodeBinding object that defines both a depth and a data member.

  2. Oggetto TreeNodeBinding che definisce solo la profondità.The TreeNodeBinding object that defines only the depth.

  3. Oggetto TreeNodeBinding che definisce solo il membro dati.The TreeNodeBinding object that defines only the data member.

  4. Oggetto TreeNodeBinding che definisce né la profondità né il membro dati.The TreeNodeBinding object that defines neither the depth nor the data member.

Se vengono specificate più associazioni che soddisfano gli stessi criteri di precedenza, viene applicata la prima associazione nella raccolta.If multiple bindings are specified that meet the same precedence criteria, the first binding in the collection is applied.

Una volta stabiliti i criteri di associazione, è possibile associare una proprietà di un oggetto TreeNode che può essere associato a un valore.Once the binding criteria is established, you can then bind a property of a TreeNode object that can be bound to a value. È possibile eseguire l'associazione a un attributo o a un campo di un elemento di dati o visualizzare un valore statico.You can either bind to an attribute or field of a data item or display a static value. Per ulteriori informazioni sull'associazione delle proprietà di un oggetto TreeNode a un valore, vedere TreeNodeBinding.For more information on binding the properties of a TreeNode object to a value, see TreeNodeBinding.

Sebbene la raccolta di DataBindings possa essere popolata a livello di codice, viene in genere impostata in modo dichiarativo.Although the DataBindings collection can be programmatically populated, it is usually set declaratively. Per specificare le associazioni del nodo della struttura ad albero, prima annidare i tag di apertura e chiusura <DataBindings> tra i tag di apertura e di chiusura del controllo TreeView.To specify the tree node bindings, first nest opening and closing <DataBindings> tags between the opening and closing tags of the TreeView control. Inserire quindi <asp:TreeNodeBinding> elementi tra i tag di apertura e di chiusura <DataBindings> per ogni binding del nodo della struttura ad albero che si desidera specificare.Next, place <asp:TreeNodeBinding> elements between the opening and closing <DataBindings> tags for each tree node binding you want to specify.

Quando si creano associazioni dati impostando la proprietà AutoGenerateDataBindings del controllo TreeView su true, i binding creati hanno la proprietà PopulateOnDemand impostata su true.When data bindings are created by setting the AutoGenerateDataBindings property of the TreeView control to true, the bindings that are created have the PopulateOnDemand property set to true. Le associazioni dati create in modo dichiarativo hanno la proprietà PopulateOnDemand impostata su false.Data bindings that are created declaratively have the PopulateOnDemand property set to false. L'utilizzo della sintassi dichiarativa consente di controllare il comportamento delle singole associazioni dati.Using the declarative syntax allows you to control the behavior of individual data bindings.

Applies to

See also