TreeView.DataBindings Właściwość

Definicja

Pobiera kolekcję TreeNodeBinding obiektów, które definiują relację między elementem danych a węzłem, z którymi jest powiązanie.

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; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.DataBindings : System.Web.UI.WebControls.TreeNodeBindingCollection
Public ReadOnly Property DataBindings As TreeNodeBindingCollection

Wartość właściwości

TreeNodeBindingCollection

Element TreeNodeBindingCollection reprezentujący relację między elementem danych a węzłem, z który jest wiązany.

Atrybuty

Przykłady

Ten rozdział zawiera dwa przykłady kodu. W pierwszym przykładzie kodu pokazano, jak używać DataBindings kolekcji do definiowania relacji między elementem danych a węzłem, z jakim jest powiązanie. Drugi przykład kodu zawiera przykładowe dane XML dla pierwszego przykładu kodu.

W poniższym przykładzie kodu pokazano, jak używać DataBindings kolekcji do definiowania relacji między elementem danych a węzłem, z który jest wiązany. Aby ten przykład działał poprawnie, należy skopiować przykładowe dane XML podane po tym przykładzie kodu do pliku o nazwie Book.xml. W tym przykładzie określono tylko DataMember właściwość powiązania. Można dodać niewielki wzrost wydajności, określając Depth również właściwość .


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

Poniższy przykład kodu zawiera przykładowe dane XML dla poprzedniego przykładu.

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

Uwagi

Kolekcja DataBindings zawiera TreeNodeBinding obiekty definiujące relację między elementem danych a węzłem, z którym jest powiązanie. W przypadku powiązania ze źródłem danych, w którym każdy element danych zawiera wiele właściwości (takich jak element XML z kilkoma atrybutami), węzeł wyświetla wartość zwracaną przez ToString metodę elementu danych domyślnie. W przypadku elementu XML węzeł wyświetla nazwę elementu, który pokazuje podstawową strukturę drzewa, ale nie jest bardzo przydatny w przeciwnym razie. Węzeł można powiązać z określoną właściwością elementu danych, określając powiązania węzła drzewa.

Podczas definiowania relacji między elementem danych a węzłem należy określić zarówno kryteria powiązania, jak i wartości, które mają zostać powiązane z właściwościami TreeNode obiektu. Kryteria wskazują, kiedy element danych powinien być powiązany z węzłem. Kryteria można określić za pomocą głębokości węzła, elementu członkowskiego danych lub obu tych elementów. Głębokość węzła określa poziom węzła, który jest powiązany. Jeśli na przykład określisz głębokość węzła równą 0, wszystkie węzły w strukturze drzewa na poziomie 0 są powiązane przy użyciu powiązania węzła drzewa. Element członkowski danych określa typ elementu danych w bazowym źródle danych, ale może reprezentować różne informacje w zależności od źródła danych. Na przykład element członkowski danych elementu XML określa nazwę elementu.

Jeśli zdefiniowano wiele TreeNodeBinding obiektów, które powodują konflikt ze sobą, kontrolka TreeView stosuje powiązania węzła drzewa w następującej kolejności:

  1. Obiekt TreeNodeBinding , który definiuje zarówno głębokość, jak i element członkowski danych.

  2. Obiekt TreeNodeBinding , który definiuje tylko głębokość.

  3. Obiekt TreeNodeBinding , który definiuje tylko element członkowski danych.

  4. Obiekt TreeNodeBinding , który nie definiuje ani głębokości, ani elementu członkowskiego danych.

Jeśli określono wiele powiązań spełniających te same kryteria pierwszeństwa, zostanie zastosowane pierwsze powiązanie w kolekcji.

Po ustanowieniu kryteriów powiązania można powiązać właściwość TreeNode obiektu, który może być powiązany z wartością. Można powiązać z atrybutem lub polem elementu danych albo wyświetlić wartość statyczną. Aby uzyskać więcej informacji na temat powiązania właściwości TreeNode obiektu z wartością, zobacz TreeNodeBinding.

DataBindings Chociaż kolekcja może być wypełniana programowo, zwykle jest ustawiana deklaratywnie. Aby określić powiązania węzła drzewa, najpierw zagnieżdżaj tagi otwierające i zamykające <DataBindings> między tagami otwierania i zamykania kontrolki TreeView . Następnie umieść <asp:TreeNodeBinding> elementy między tagami otwierania i zamykania <DataBindings> dla każdego powiązania węzła drzewa, które chcesz określić.

Gdy powiązania danych są tworzone przez ustawienie AutoGenerateDataBindings właściwości kontrolki TreeView truena , tworzone powiązania mają właściwość ustawioną PopulateOnDemand na true. Powiązania danych tworzone deklaratywnie mają właściwość ustawioną PopulateOnDemand na falsewartość . Użycie składni deklaratywnej umożliwia kontrolowanie zachowania poszczególnych powiązań danych.

Dotyczy

Zobacz też