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. Das zweite Codebeispiel 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 mit dem Namen Book.xmlkopieren.


<%@ 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 mit dem Namen Book.xmlkopieren.


<%@ 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 sind die XML-Daten für die vorherigen Codebeispiele aufgeführt.

<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 Sammlung von TreeNodeBinding Objekten im TreeView Steuerelement zu speichern und zu verwalten. Das TreeView Steuerelement verwendet die Klasse für seine DataBindingsTreeNodeBindingCollection Eigenschaft.

Die DataBindings Eigenschaft enthält TreeNodeBinding Objekte, die die Beziehung zwischen einem Datenelement und dem Knoten definieren, an den sie gebunden ist. Beim Binden 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 hilfreich ist. Sie können einen Knoten an eine bestimmte Datenelementeigenschaft binden, indem Sie Strukturknotenbindungen angeben. Obwohl die Auflistung programmgesteuert aufgefüllt werden kann, wird sie in der DataBindings Regel deklarativ festgelegt.

So legen Sie die Strukturknotenbindungen deklarativ fest:

  1. Schachteln von öffnenden und schließenden <DataBindings> Tags zwischen den öffnenden und schließenden Tags des TreeView Steuerelements.

  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 ein TreeNodeBindingCollection Objekt programmgesteuert verwalten, indem Sie Objekte hinzufügen und entfernen TreeNodeBinding . Wenn Sie der Auflistung ein TreeNodeBinding Objekt hinzufügen möchten, verwenden Sie die Add Oder-Methode Insert . Um Knoten aus der Auflistung zu entfernen, verwenden Sie die Remove, RemoveAtoder StateManagedCollection.Clear die 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 bei 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

Name Beschreibung
Count

Ruft die Anzahl der In der StateManagedCollection Auflistung enthaltenen Elemente ab.

(Geerbt von StateManagedCollection)
Item[Int32]

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

Methoden

Name Beschreibung
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 sich das angegebene TreeNodeBinding Objekt in der Auflistung befindet.

CopyTo(Array, Int32)

Kopiert die Elemente der StateManagedCollection Auflistung in ein Array, beginnend bei einem bestimmten Arrayindex.

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

Kopiert alle Elemente aus dem TreeNodeBindingCollection Objekt in ein kompatibles eindimensionales Array von TreeNodeBinding Objekten, beginnend am angegebenen Index im Zielarray.

CreateKnownType(Int32)

Wenn sie in einer abgeleiteten Klasse überschrieben IStateManagerwird, wird eine Instanz einer Klasse erstellt, die implementiert wird. Der Typ des erstellten Objekts basiert auf dem angegebenen Element der Auflistung, die von der GetKnownTypes() Methode zurückgegeben wird.

(Geerbt von StateManagedCollection)
Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetEnumerator()

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

(Geerbt von StateManagedCollection)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetKnownTypes()

Wenn eine abgeleitete Klasse überschrieben wird, wird ein Array von IStateManager Typen abgerufen, die die StateManagedCollection Auflistung enthalten kann.

(Geerbt von StateManagedCollection)
GetType()

Ruft die 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 an der angegebenen Indexposition in das TreeNodeBindingCollection Objekt ein.

MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
OnClear()

Wenn sie in einer abgeleiteten Klasse überschrieben wird, werden zusätzliche Aufgaben ausgeführt, bevor die Clear() Methode alle Elemente aus der Auflistung entfernt.

(Geerbt von StateManagedCollection)
OnClearComplete()

Wenn sie in einer abgeleiteten Klasse überschrieben wird, führt die Methode zusätzliche Arbeit aus, nachdem die Clear() Methode beendet ist, alle Elemente aus der Auflistung zu entfernen.

(Geerbt von StateManagedCollection)
OnInsert(Int32, Object)

Wenn sie in einer abgeleiteten Klasse überschrieben werden, führt sie zusätzliche Arbeit durch, bevor die IList.Insert(Int32, Object)IList.Add(Object) Auflistung ein Element hinzufügt.

(Geerbt von StateManagedCollection)
OnInsertComplete(Int32, Object)

Wenn sie in einer abgeleiteten Klasse außer Kraft gesetzt wird, führt sie zusätzliche Arbeit durch, nachdem die IList.Insert(Int32, Object) Auflistung IList.Add(Object) ein Element hinzugefügt hat.

(Geerbt von StateManagedCollection)
OnRemove(Int32, Object)

Wenn sie in einer abgeleiteten Klasse überschrieben werden, werden zusätzliche Aufgaben ausgeführt, bevor das IList.Remove(Object)IList.RemoveAt(Int32) angegebene Element aus der Auflistung entfernt wird.

(Geerbt von StateManagedCollection)
OnRemoveComplete(Int32, Object)

Wenn sie in einer abgeleiteten Klasse außer Kraft gesetzt wird, führt sie zusätzliche Arbeit durch, nachdem das IList.Remove(Object)IList.RemoveAt(Int32) angegebene Element aus der Auflistung entfernt wurde.

(Geerbt von StateManagedCollection)
OnValidate(Object)

Wenn eine abgeleitete Klasse außer Kraft gesetzt wird, wird ein Element der StateManagedCollection Auflistung überprüft.

(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, dass die gesamte StateManagedCollection Sammlung in den Ansichtszustand serialisiert wird.

(Geerbt von StateManagedCollection)
SetDirtyObject(Object)

Wenn eine abgeleitete Klasse außer Kraft gesetzt wird, weist sie eine object in der Auflistung enthaltene Klasse an, ihren gesamten Zustand zum Anzeigen des Zustands aufzuzeichnen, anstatt nur Änderungsinformationen aufzuzeichnen.

(Geerbt von StateManagedCollection)
ToString()

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

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

Name Beschreibung
ICollection.Count

Ruft die Anzahl der In der StateManagedCollection Auflistung enthaltenen Elemente ab.

(Geerbt von StateManagedCollection)
ICollection.IsSynchronized

Ruft einen Wert ab, der angibt, ob die StateManagedCollection Auflistung synchronisiert wird (Threadsicher). Diese Methode gibt in allen Fällen zurück false .

(Geerbt von StateManagedCollection)
ICollection.SyncRoot

Ruft ein Objekt ab, das zum Synchronisieren des Zugriffs auf die StateManagedCollection Auflistung verwendet werden kann. Diese Methode gibt in allen Fällen zurück null .

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

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

(Geerbt von StateManagedCollection)
IList.IndexOf(Object)

Bestimmt den Index eines angegebenen Elements in der StateManagedCollection Auflistung.

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

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

(Geerbt von StateManagedCollection)
IList.IsFixedSize

Ruft einen Wert ab, der angibt, ob die StateManagedCollection Auflistung eine feste Größe aufweist. Diese Methode gibt in allen Fällen zurück false .

(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 am Ansichtszustand speichert.

(Geerbt von StateManagedCollection)
IStateManager.LoadViewState(Object)

Stellt den zuvor gespeicherten Ansichtsstatus der StateManagedCollection Auflistung und der IStateManager darin enthaltenen Elemente wieder her.

(Geerbt von StateManagedCollection)
IStateManager.SaveViewState()

Speichert die Änderungen an der StateManagedCollection Auflistung und jedes IStateManager Objekt, das sie enthält, seit der Zeitpunkt, zu dem die Seite wieder auf dem Server gepostet wurde.

(Geerbt von StateManagedCollection)
IStateManager.TrackViewState()

Bewirkt, dass die StateManagedCollection Auflistung und jedes der IStateManager darin enthaltenen Objekte Änderungen am Ansichtszustand nachverfolgt, sodass sie über Anforderungen für dieselbe Seite hinweg beibehalten werden können.

(Geerbt von StateManagedCollection)

Erweiterungsmethoden

Name Beschreibung
AsParallel(IEnumerable)

Aktiviert die Parallelisierung einer Abfrage.

AsQueryable(IEnumerable)

Wandelt eine IEnumerable in eine IQueryableum.

Cast<TResult>(IEnumerable)

Wandelt die Elemente eines IEnumerable in den angegebenen Typ um.

OfType<TResult>(IEnumerable)

Filtert die Elemente einer IEnumerable basierend auf einem angegebenen Typ.

Gilt für:

Weitere Informationen