Udostępnij za pośrednictwem


TreeNodeBindingCollection Klasa

Definicja

Reprezentuje kolekcję TreeNodeBinding obiektów w kontrolce TreeView . Klasa ta nie może być dziedziczona.

public ref class TreeNodeBindingCollection sealed : System::Web::UI::StateManagedCollection
public sealed class TreeNodeBindingCollection : System.Web.UI.StateManagedCollection
type TreeNodeBindingCollection = class
    inherit StateManagedCollection
Public NotInheritable Class TreeNodeBindingCollection
Inherits StateManagedCollection
Dziedziczenie
TreeNodeBindingCollection

Przykłady

Ten rozdział zawiera dwa przykłady kodu. W pierwszym przykładzie kodu pokazano, jak deklaratywnie wypełnić TreeNodeBindingCollection obiekt. Drugi przykład kodu pokazuje, jak programowo wypełnić TreeNodeBindingCollection obiekt.

W poniższym przykładzie kodu pokazano, jak deklaratywnie wypełnić TreeNodeBindingCollection obiekt. Aby ten przykład działał poprawnie, należy skopiować dane XML znajdujące się na końcu tej sekcji do pliku o nazwie 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">
<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>

W poniższym przykładzie kodu pokazano, jak programowo wypełnić TreeNodeBindingCollection obiekt. Aby ten przykład działał poprawnie, należy skopiować przykładowe dane XML znajdujące się na końcu tej sekcji do pliku o nazwie 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 new TreeView control.
    TreeView NewTree = new TreeView();

    // Set the properties of the TreeView control.
    NewTree.ID = "BookTreeView";
    NewTree.DataSourceID = "BookXmlDataSource";

    // Create the tree node binding relationship.

    // Create the root node binding.
    TreeNodeBinding RootBinding = new TreeNodeBinding();
    RootBinding.DataMember = "Book";
    RootBinding.TextField = "Title";

    // Create the parent node binding.
    TreeNodeBinding ParentBinding = new TreeNodeBinding();
    ParentBinding.DataMember = "Chapter";
    ParentBinding.TextField = "Heading";

    // Create the leaf node binding.
    TreeNodeBinding LeafBinding = new TreeNodeBinding();
    LeafBinding.DataMember = "Section";
    LeafBinding.TextField = "Heading";

    // Add bindings to the DataBindings collection.
    NewTree.DataBindings.Add(RootBinding);
    NewTree.DataBindings.Add(ParentBinding); 
    NewTree.DataBindings.Add(LeafBinding);

    // Manually register the event handler for the SelectedNodeChanged event.
    NewTree.SelectedNodeChanged += new EventHandler(this.Node_Change);

    // Add the TreeView control to the Controls collection of the PlaceHolder control.
    ControlPlaceHolder.Controls.Add(NewTree);

  }

  void Node_Change(Object sender, EventArgs e)
  {

    // Retrieve the TreeView control from the Controls collection of the PlaceHolder control.
    TreeView LocalTree = (TreeView)ControlPlaceHolder.FindControl("BookTreeView");

    // Display the selected node.
    Message.Text = "You selected: " + LocalTree.SelectedNode.Text;

  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>TreeView Constructor Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>TreeView Constructor Example</h3>
      
      <asp:PlaceHolder id="ControlPlaceHolder" runat="server">
      </asp:PlaceHolder>
   
      <asp:XmlDataSource id="BookXmlDataSource"  
        DataFile="Book.xml"
        runat="server">
      </asp:XmlDataSource>
      
      <br /><br />
      
      <asp:Label id="Message" runat="server"/>
    
    </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 new TreeView control.
    Dim NewTree As New TreeView

    ' Set the properties of the TreeView control.
    NewTree.ID = "BookTreeView"
    NewTree.DataSourceID = "BookXmlDataSource"

    ' Create the tree node binding relationship.

    ' Create the root node binding.
    Dim RootBinding As New TreeNodeBinding
    RootBinding.DataMember = "Book"
    RootBinding.TextField = "Title"

    ' Create the parent node binding.
    Dim ParentBinding As New TreeNodeBinding
    ParentBinding.DataMember = "Chapter"
    ParentBinding.TextField = "Heading"

    ' Create the leaf node binding.
    Dim LeafBinding As New TreeNodeBinding
    LeafBinding.DataMember = "Section"
    LeafBinding.TextField = "Heading"

    ' Add bindings to the DataBindings collection.
    NewTree.DataBindings.Add(RootBinding)
    NewTree.DataBindings.Add(ParentBinding)
    NewTree.DataBindings.Add(LeafBinding)

    ' Manually register the event handler for the SelectedNodeChanged event.
    AddHandler NewTree.SelectedNodeChanged, AddressOf Node_Change

    ' Add the TreeView control to the Controls collection of the PlaceHolder control.
    ControlPlaceHolder.Controls.Add(NewTree)

  End Sub

  Sub Node_Change(ByVal sender As Object, ByVal e As EventArgs)

    ' Retrieve the TreeView control from the Controls collection of the PlaceHolder control.
    Dim LocalTree As TreeView = CType(ControlPlaceHolder.FindControl("BookTreeView"), TreeView)

    ' Display the selected node.
    Message.Text = "You selected: " & LocalTree.SelectedNode.Text

  End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>TreeView Constructor Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>TreeView Constructor Example</h3>
      
      <asp:PlaceHolder id="ControlPlaceHolder" runat="server">
      </asp:PlaceHolder>
   
      <asp:XmlDataSource id="BookXmlDataSource"  
        DataFile="Book.xml"
        runat="server">
      </asp:XmlDataSource>
      
      <br /><br />
      
      <asp:Label id="Message" runat="server"/>
    
    </form>
  </body>
</html>

Poniżej przedstawiono dane XML dla powyższych przykładów kodu.

<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

Klasa TreeNodeBindingCollection służy do przechowywania kolekcji TreeNodeBinding obiektów w kontrolce TreeView i zarządzania nimi. Kontrolka TreeView używa TreeNodeBindingCollection klasy dla jej DataBindings właściwości.

Właściwość 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. DataBindings Chociaż kolekcja może być wypełniana programowo, zwykle jest ustawiana deklaratywnie.

Aby deklaratywnie ustawić powiązania węzła drzewa:

  1. Zagnieżdżanie tagów otwierania i zamykania między tagami otwierania i zamykania <DataBindings> kontrolki TreeView .

  2. Umieść <asp:TreeNodeBinding> elementy między znacznikami otwierania i zamykania <DataBindings> dla każdego powiązania węzła drzewa, które chcesz określić.

Można programowo zarządzać obiektami TreeNodeBindingCollection , dodając i usuwając TreeNodeBinding obiekty. Aby dodać TreeNodeBinding obiekt do kolekcji, użyj Add metody or Insert . Aby usunąć węzły z kolekcji, użyj Removemetody , RemoveAtlub StateManagedCollection.Clear .

Klasa TreeNodeBindingCollection obsługuje kilka sposobów uzyskiwania dostępu do elementów w kolekcji:

Właściwości

Count

Pobiera liczbę elementów zawartych w kolekcji StateManagedCollection .

(Odziedziczone po StateManagedCollection)
Item[Int32]

Pobiera lub ustawia TreeNodeBinding obiekt w określonym indeksie TreeNodeBindingCollection w obiekcie.

Metody

Add(TreeNodeBinding)

Dołącza określony TreeNodeBinding obiekt na końcu TreeNodeBindingCollection obiektu.

Clear()

Usuwa wszystkie elementy z kolekcji StateManagedCollection .

(Odziedziczone po StateManagedCollection)
Contains(TreeNodeBinding)

Określa, czy określony TreeNodeBinding obiekt znajduje się w kolekcji.

CopyTo(Array, Int32)

Kopiuje elementy StateManagedCollection kolekcji do tablicy, zaczynając od określonego indeksu tablicy.

(Odziedziczone po StateManagedCollection)
CopyTo(TreeNodeBinding[], Int32)

Kopiuje wszystkie elementy z TreeNodeBindingCollection obiektu do zgodnej jednowymiarowej tablicy TreeNodeBinding obiektów, zaczynając od określonego indeksu w tablicy docelowej.

CreateKnownType(Int32)

Po przesłonięciu w klasie pochodnej tworzy wystąpienie klasy implementujące IStateManagermetodę . Typ utworzonego obiektu jest oparty na określonym elemencie członkowskim kolekcji zwróconej przez metodę GetKnownTypes() .

(Odziedziczone po StateManagedCollection)
Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetEnumerator()

Zwraca iterator iterujący przez StateManagedCollection kolekcję.

(Odziedziczone po StateManagedCollection)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetKnownTypes()

Po zastąpieniu w klasie pochodnej pobiera tablicę IStateManager typów, które StateManagedCollection może zawierać kolekcja.

(Odziedziczone po StateManagedCollection)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
IndexOf(TreeNodeBinding)

Określa indeks określonego TreeNodeBinding obiektu w kolekcji.

Insert(Int32, TreeNodeBinding)

Wstawia określony TreeNodeBinding obiekt do TreeNodeBindingCollection obiektu w określonej lokalizacji indeksu.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
OnClear()

Po zastąpieniu w klasie pochodnej wykonuje dodatkową pracę, zanim Clear() metoda usunie wszystkie elementy z kolekcji.

(Odziedziczone po StateManagedCollection)
OnClearComplete()

Po przesłonięciu w klasie pochodnej wykonuje dodatkową pracę po zakończeniu Clear() usuwania wszystkich elementów z kolekcji.

(Odziedziczone po StateManagedCollection)
OnInsert(Int32, Object)

Po zastąpieniu klasy pochodnej wykonuje dodatkową pracę przed IList.Insert(Int32, Object) dodaniu elementu do kolekcji przez metodę or IList.Add(Object) .

(Odziedziczone po StateManagedCollection)
OnInsertComplete(Int32, Object)

Po zastąpieniu w klasie pochodnej wykonuje dodatkową pracę po IList.Insert(Int32, Object) dodaniu elementu do kolekcji przez metodę or IList.Add(Object) .

(Odziedziczone po StateManagedCollection)
OnRemove(Int32, Object)

Po zastąpieniu w klasie pochodnej wykonuje dodatkową pracę przed IList.Remove(Object) usunięciem określonego elementu z kolekcji przez metodę or IList.RemoveAt(Int32) .

(Odziedziczone po StateManagedCollection)
OnRemoveComplete(Int32, Object)

W przypadku zastąpienia w klasie pochodnej wykonuje dodatkową pracę po IList.Remove(Object) usunięciu określonego elementu z kolekcji przez metodę or IList.RemoveAt(Int32) .

(Odziedziczone po StateManagedCollection)
OnValidate(Object)

Po przesłonięciu w klasie pochodnej weryfikuje element kolekcji StateManagedCollection .

(Odziedziczone po StateManagedCollection)
Remove(TreeNodeBinding)

Usuwa określony TreeNodeBinding obiekt z TreeNodeBindingCollection obiektu.

RemoveAt(Int32)

TreeNodeBinding Usuwa obiekt w określonej lokalizacji indeksu TreeNodeBindingCollection z obiektu.

SetDirty()

Wymusza serializacji całej StateManagedCollection kolekcji w stan widoku.

(Odziedziczone po StateManagedCollection)
SetDirtyObject(Object)

Po przesłonięciu w klasie pochodnej instruuje object element zawarty przez kolekcję w celu zarejestrowania całego stanu w celu wyświetlenia stanu, a nie rejestrowania tylko informacji o zmianie.

(Odziedziczone po StateManagedCollection)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Jawne implementacje interfejsu

ICollection.Count

Pobiera liczbę elementów zawartych w kolekcji StateManagedCollection .

(Odziedziczone po StateManagedCollection)
ICollection.IsSynchronized

Pobiera wartość wskazującą, czy StateManagedCollection kolekcja jest synchronizowana (bezpieczne wątki). Ta metoda zwraca wszystkie false przypadki.

(Odziedziczone po StateManagedCollection)
ICollection.SyncRoot

Pobiera obiekt, który może służyć do synchronizowania dostępu do StateManagedCollection kolekcji. Ta metoda zwraca wszystkie null przypadki.

(Odziedziczone po StateManagedCollection)
IEnumerable.GetEnumerator()

Zwraca iterator iterujący przez StateManagedCollection kolekcję.

(Odziedziczone po StateManagedCollection)
IList.Add(Object)

Dodaje element do kolekcji StateManagedCollection .

(Odziedziczone po StateManagedCollection)
IList.Clear()

Usuwa wszystkie elementy z kolekcji StateManagedCollection .

(Odziedziczone po StateManagedCollection)
IList.Contains(Object)

Określa, czy StateManagedCollection kolekcja zawiera określoną wartość.

(Odziedziczone po StateManagedCollection)
IList.IndexOf(Object)

Określa indeks określonego elementu w kolekcji StateManagedCollection .

(Odziedziczone po StateManagedCollection)
IList.Insert(Int32, Object)

Wstawia element do kolekcji StateManagedCollection w określonym indeksie.

(Odziedziczone po StateManagedCollection)
IList.IsFixedSize

Pobiera wartość wskazującą, czy StateManagedCollection kolekcja ma stały rozmiar. Ta metoda zwraca wszystkie false przypadki.

(Odziedziczone po StateManagedCollection)
IList.IsReadOnly

Pobiera wartość wskazującą, czy StateManagedCollection kolekcja jest tylko do odczytu.

(Odziedziczone po StateManagedCollection)
IList.Item[Int32]

IStateManager Pobiera element w określonym indeksie.

(Odziedziczone po StateManagedCollection)
IList.Remove(Object)

Usuwa pierwsze wystąpienie określonego obiektu z kolekcji StateManagedCollection .

(Odziedziczone po StateManagedCollection)
IList.RemoveAt(Int32)

IStateManager Usuwa element w określonym indeksie.

(Odziedziczone po StateManagedCollection)
IStateManager.IsTrackingViewState

Pobiera wartość wskazującą, czy StateManagedCollection kolekcja zapisuje zmiany w stanie widoku.

(Odziedziczone po StateManagedCollection)
IStateManager.LoadViewState(Object)

Przywraca wcześniej zapisany stan StateManagedCollection widoku kolekcji i IStateManager zawarte w nim elementy.

(Odziedziczone po StateManagedCollection)
IStateManager.SaveViewState()

Zapisuje zmiany w StateManagedCollection kolekcji i każdy IStateManager obiekt, który zawiera od czasu opublikowania strony z powrotem na serwerze.

(Odziedziczone po StateManagedCollection)
IStateManager.TrackViewState()

Powoduje, że StateManagedCollection kolekcja i każdy z IStateManager obiektów, które zawiera, aby śledzić zmiany w ich stanie wyświetlania, dzięki czemu mogą być utrwalane między żądaniami dla tej samej strony.

(Odziedziczone po StateManagedCollection)

Metody rozszerzania

Cast<TResult>(IEnumerable)

Rzutuje elementy elementu IEnumerable na określony typ.

OfType<TResult>(IEnumerable)

Filtruje elementy IEnumerable elementu na podstawie określonego typu.

AsParallel(IEnumerable)

Umożliwia równoległość zapytania.

AsQueryable(IEnumerable)

Konwertuje element IEnumerable na .IQueryable

Dotyczy

Zobacz też