Freigeben über


TreeNodeBindingCollection Klasse

Definition

Stellt eine Auflistung von TreeNodeBinding -Objekten im TreeView -Steuerelement dar. Diese Klasse kann nicht vererbt werden.

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

Beispiele

Dieser Abschnitt enthält zwei Codebeispiele. Im ersten Codebeispiel wird veranschaulicht, wie ein TreeNodeBindingCollection Objekt deklarativ aufgefüllt wird. Im zweiten Codebeispiel wird veranschaulicht, wie ein TreeNodeBindingCollection Objekt programmgesteuert aufgefüllt wird.

Im folgenden Codebeispiel wird veranschaulicht, wie ein TreeNodeBindingCollection Objekt deklarativ aufgefüllt wird. Damit dieses Beispiel ordnungsgemäß funktioniert, müssen Sie die XML-Daten, die sich am Ende dieses Abschnitts befinden, in eine Datei namens 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">
<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>

Im folgenden Codebeispiel wird veranschaulicht, wie ein TreeNodeBindingCollection -Objekt programmgesteuert aufgefüllt wird. Damit dieses Beispiel ordnungsgemäß funktioniert, müssen Sie die XML-Beispieldaten, die sich am Ende dieses Abschnitts befinden, in eine Datei namens 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 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>

Im Folgenden sehen Sie die XML-Daten für die vorherigen Codebeispiele.

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

Hinweise

Die TreeNodeBindingCollection -Klasse wird verwendet, um eine Auflistung von TreeNodeBinding -Objekten im TreeView -Steuerelement zu speichern und zu verwalten. Das TreeView -Steuerelement verwendet die TreeNodeBindingCollection -Klasse für seine DataBindings -Eigenschaft.

Die DataBindings -Eigenschaft enthält TreeNodeBinding -Objekte, die die Beziehung zwischen einem Datenelement und dem Knoten definieren, an den es gebunden ist. Bei der Bindung an eine Datenquelle, in der jedes Datenelement mehrere Eigenschaften enthält (z. B. ein XML-Element mit mehreren Attributen), zeigt ein Knoten standardmäßig den Wert an, der von der ToString -Methode des Datenelements zurückgegeben wird. Im Fall eines XML-Elements zeigt der Knoten den Elementnamen an, der die zugrunde liegende Struktur der Struktur anzeigt, andernfalls aber nicht sehr nützlich ist. Sie können einen Knoten an eine bestimmte Datenelementeigenschaft binden, indem Sie Strukturknotenbindungen angeben. Obwohl die DataBindings Auflistung programmgesteuert aufgefüllt werden kann, wird sie in der Regel deklarativ festgelegt.

So legen Sie die Strukturknotenbindungen deklarativ fest:

  1. Öffnende und schließende <DataBindings> Tags zwischen den öffnenden und schließenden Tags des TreeView Steuerelements schachteln.

  2. Platzieren Sie <asp:TreeNodeBinding> Elemente zwischen den öffnenden und schließenden <DataBindings> Tags für jede Strukturknotenbindung, die Sie angeben möchten.

Sie können eine programmgesteuert verwalten, TreeNodeBindingCollection indem Sie Objekte hinzufügen und entfernen TreeNodeBinding . Verwenden Sie Add die - oder Insert -Methode, um der Auflistung ein TreeNodeBinding -Objekt hinzuzufügen. Um Knoten aus der Auflistung zu entfernen, verwenden Sie die Remove-, RemoveAt- oder StateManagedCollection.Clear -Methode.

Die TreeNodeBindingCollection -Klasse unterstützt mehrere Möglichkeiten für den Zugriff auf die Elemente in der Auflistung:

  • Verwenden Sie den Item[] Indexer, um ein TreeNode Objekt direkt an einem bestimmten nullbasierten Index abzurufen.

  • Verwenden Sie die StateManagedCollection.GetEnumerator -Methode, um einen Enumerator zu erstellen, der zum Durchlaufen der Auflistung verwendet werden kann.

Eigenschaften

Count

Ruft die Anzahl der Elemente in der StateManagedCollection-Auflistung ab.

(Geerbt von StateManagedCollection)
Item[Int32]

Ruft das TreeNodeBinding-Objekt am angegebenen Index im TreeNodeBindingCollection-Objekt ab oder legt dieses fest.

Methoden

Add(TreeNodeBinding)

Fügt das angegebene TreeNodeBinding-Objekt an das Ende des TreeNodeBindingCollection-Objekts an.

Clear()

Entfernt alle Elemente aus der StateManagedCollection-Auflistung.

(Geerbt von StateManagedCollection)
Contains(TreeNodeBinding)

Bestimmt, ob das angegebene TreeNodeBinding-Objekt in der Auflistung vorhanden ist.

CopyTo(Array, Int32)

Kopiert die Elemente der StateManagedCollection-Auflistung in ein Array, wobei an einem bestimmten Arrayindex begonnen wird.

(Geerbt von StateManagedCollection)
CopyTo(TreeNodeBinding[], Int32)

Kopiert alle Elemente aus dem TreeNodeBindingCollection-Objekt in ein kompatibles eindimensionales Array von TreeNodeBinding-Objekten, wobei am angegebenen Index des Zielarrays begonnen wird.

CreateKnownType(Int32)

Beim Überschreiben in einer abgeleiteten Klasse wird eine Instanz einer Klasse erstellt, die IStateManager implementiert. Der Typ des erstellten Objekts basiert auf dem angegebenen Element der Auflistung, der von der GetKnownTypes()-Methode zurückgegeben wird.

(Geerbt von StateManagedCollection)
Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetEnumerator()

Gibt einen Iterator zurück, der die StateManagedCollection-Auflistung durchläuft.

(Geerbt von StateManagedCollection)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetKnownTypes()

Beim Überschreiben in einer abgeleiteten Klasse wird ein Array von IStateManager-Typen abgerufen, die die StateManagedCollection-Auflistung enthalten kann.

(Geerbt von StateManagedCollection)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
IndexOf(TreeNodeBinding)

Bestimmt den Index des angegebenen TreeNodeBinding-Objekts in der Auflistung.

Insert(Int32, TreeNodeBinding)

Fügt das angegebene TreeNodeBinding-Objekt in das TreeNodeBindingCollection-Objekt an der angegebenen Indexposition ein.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
OnClear()

Beim Überschreiben in einer abgeleiteten Klasse werden zusätzliche Aufgaben ausgeführt, bevor die Clear()-Methode alle Elemente aus der Auflistung entfernt.

(Geerbt von StateManagedCollection)
OnClearComplete()

Beim Überschreiben in einer abgeleiteten Klasse werden zusätzliche Aufgaben ausgeführt, nachdem die Clear()-Methode alle Elemente aus der Auflistung entfernt hat.

(Geerbt von StateManagedCollection)
OnInsert(Int32, Object)

Beim Überschreiben in einer abgeleiteten Klasse werden zusätzliche Aufgaben ausgeführt, bevor die IList.Insert(Int32, Object)-Methode oder die IList.Add(Object)-Methode der Auflistung ein Element hinzufügt.

(Geerbt von StateManagedCollection)
OnInsertComplete(Int32, Object)

Beim Überschreiben in einer abgeleiteten Klasse werden zusätzliche Aufgaben ausgeführt, nachdem die IList.Insert(Int32, Object)-Methode oder die IList.Add(Object)-Methode der Auflistung ein Element hinzugefügt hat.

(Geerbt von StateManagedCollection)
OnRemove(Int32, Object)

Beim Überschreiben in einer abgeleiteten Klasse werden zusätzliche Aufgaben ausgeführt, bevor die IList.Remove(Object)-Methode oder die IList.RemoveAt(Int32)-Methode das angegebene Element aus der Auflistung entfernt.

(Geerbt von StateManagedCollection)
OnRemoveComplete(Int32, Object)

Beim Überschreiben in einer abgeleiteten Klasse werden zusätzliche Aufgaben ausgeführt, nachdem die IList.Remove(Object)-Methode oder die IList.RemoveAt(Int32)-Methode das angegebene Element aus der Auflistung entfernt hat.

(Geerbt von StateManagedCollection)
OnValidate(Object)

Beim Überschreiben in einer abgeleiteten Klasse wird ein Element der StateManagedCollection-Auflistung validiert.

(Geerbt von StateManagedCollection)
Remove(TreeNodeBinding)

Entfernt das angegebene TreeNodeBinding-Objekt aus dem TreeNodeBindingCollection-Objekt.

RemoveAt(Int32)

Entfernt das TreeNodeBinding-Objekt an der angegebenen Indexposition aus dem TreeNodeBindingCollection-Objekt.

SetDirty()

Erzwingt den serialisierten Ansichtszustand für die gesamte StateManagedCollection-Auflistung.

(Geerbt von StateManagedCollection)
SetDirtyObject(Object)

Beim Überschreiben in einer abgeleiteten Klasse wird ein in der Auflistung enthaltenes object angewiesen, seinen gesamten Zustand im Ansichtszustand aufzuzeichnen, anstatt nur die Änderungsinformationen aufzuzeichnen.

(Geerbt von StateManagedCollection)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

ICollection.Count

Ruft die Anzahl der Elemente in der StateManagedCollection-Auflistung ab.

(Geerbt von StateManagedCollection)
ICollection.IsSynchronized

Ruft einen Wert ab, der angibt, ob die StateManagedCollection-Auflistung synchronisiert (threadsicher) ist. Diese Methode gibt immer false zurück.

(Geerbt von StateManagedCollection)
ICollection.SyncRoot

Ruft ein Objekt ab, mit dem der Zugriff auf die StateManagedCollection-Auflistung synchronisiert werden kann. Diese Methode gibt immer null zurück.

(Geerbt von StateManagedCollection)
IEnumerable.GetEnumerator()

Gibt einen Iterator zurück, der die StateManagedCollection-Auflistung durchläuft.

(Geerbt von StateManagedCollection)
IList.Add(Object)

Fügt der StateManagedCollection-Auflistung ein Element hinzu.

(Geerbt von StateManagedCollection)
IList.Clear()

Entfernt alle Elemente aus der StateManagedCollection-Auflistung.

(Geerbt von StateManagedCollection)
IList.Contains(Object)

Ermittelt, ob die StateManagedCollection-Auflistung einen bestimmten Wert enthält.

(Geerbt von StateManagedCollection)
IList.IndexOf(Object)

Bestimmt den Index eines bestimmten Elements in der StateManagedCollection-Auflistung.

(Geerbt von StateManagedCollection)
IList.Insert(Int32, Object)

Fügt ein Element am angegebenen Index in die StateManagedCollection-Auflistung ein.

(Geerbt von StateManagedCollection)
IList.IsFixedSize

Ruft einen Wert ab, der angibt, ob die StateManagedCollection-Auflistung eine feste Größe aufweist. Diese Methode gibt immer false zurück.

(Geerbt von StateManagedCollection)
IList.IsReadOnly

Ruft einen Wert ab, der angibt, ob die StateManagedCollection-Auflistung schreibgeschützt ist.

(Geerbt von StateManagedCollection)
IList.Item[Int32]

Ruft das IStateManager-Element am angegebenen Index ab.

(Geerbt von StateManagedCollection)
IList.Remove(Object)

Entfernt das erste Vorkommen des angegebenen Objekts aus der StateManagedCollection-Auflistung.

(Geerbt von StateManagedCollection)
IList.RemoveAt(Int32)

Entfernt das IStateManager-Element am angegebenen Index.

(Geerbt von StateManagedCollection)
IStateManager.IsTrackingViewState

Ruft einen Wert ab, der angibt, ob die StateManagedCollection-Auflistung Änderungen des Ansichtszustands speichert.

(Geerbt von StateManagedCollection)
IStateManager.LoadViewState(Object)

Stellt den zuvor gespeicherten Ansichtszustand der StateManagedCollection-Auflistung und der in ihr enthaltenen IStateManager-Elemente wieder her.

(Geerbt von StateManagedCollection)
IStateManager.SaveViewState()

Speichert die Änderungen an der StateManagedCollection-Auflistung und allen darin enthaltenen IStateManager-Objekten seit dem Zeitpunkt, zu dem die Seite zurück an den Server gesendet wurde.

(Geerbt von StateManagedCollection)
IStateManager.TrackViewState()

Weist die StateManagedCollection-Auflistung und alle in ihr enthaltenen IStateManager-Objekte an, die Änderungen im Ansichtszustand nachzuverfolgen, sodass diese für die gleiche Seite anforderungsübergreifend beibehalten werden können.

(Geerbt von StateManagedCollection)

Erweiterungsmethoden

Cast<TResult>(IEnumerable)

Wandelt die Elemente eines IEnumerable in den angegebenen Typ um

OfType<TResult>(IEnumerable)

Filtert die Elemente eines IEnumerable anhand eines angegebenen Typs

AsParallel(IEnumerable)

Ermöglicht die Parallelisierung einer Abfrage.

AsQueryable(IEnumerable)

Konvertiert einen IEnumerable in einen IQueryable.

Gilt für:

Weitere Informationen