TreeNodeCollection Klasse

Definition

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

public ref class TreeNodeCollection sealed : System::Collections::ICollection, System::Web::UI::IStateManager
public sealed class TreeNodeCollection : System.Collections.ICollection, System.Web.UI.IStateManager
type TreeNodeCollection = class
    interface ICollection
    interface IEnumerable
    interface IStateManager
Public NotInheritable Class TreeNodeCollection
Implements ICollection, IStateManager
Vererbung
TreeNodeCollection
Implementiert

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie Sie Knoten programmgesteuert hinzufügen und aus einer TreeNodeCollection. Beachten Sie, dass die Nodes Eigenschaften ChildNodes ein TreeNodeCollection Objekt zurückgeben.


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

    if (!IsPostBack)
    {

      // Use the Add and Remove methods to programmatically 
      // remove the Appendix C node and replace it with a new 
      // node. 
      LinksTreeView.Nodes.Remove(LinksTreeView.Nodes[3]);
      LinksTreeView.Nodes.Add(new TreeNode("New Appendix C"));

      // Use the AddAt and RemoveAt methods to programmatically 
      // remove the Chapter One node and replace it with a new node.
      LinksTreeView.Nodes[0].ChildNodes.RemoveAt(0);
      LinksTreeView.Nodes[0].ChildNodes.AddAt(0, new TreeNode("New Chapter One"));

      // Use the Clear method to remove all the child nodes of the 
      // Chapter Two node.
      LinksTreeView.Nodes[0].ChildNodes[1].ChildNodes.Clear();

    }

  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>TreeNodeCollection Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>TreeNodeCollection Example</h3>
    
      <asp:TreeView id="LinksTreeView"
        Font-Names= "Arial"
        ForeColor="Blue"
        runat="server">
         
        <LevelStyles>
        
          <asp:TreeNodeStyle ChildNodesPadding="10" 
            Font-Bold="true" 
            Font-Size="12pt" 
            ForeColor="DarkGreen"/>
          <asp:TreeNodeStyle ChildNodesPadding="5" 
            Font-Bold="true" 
            Font-Size="10pt"/>
          <asp:TreeNodeStyle ChildNodesPadding="5" 
            Font-UnderLine="true" 
            Font-Size="10pt"/>
          <asp:TreeNodeStyle ChildNodesPadding="10" 
            Font-Size="8pt"/>
             
        </LevelStyles>
         
        <Nodes>
        
          <asp:TreeNode Text="Table of Contents"
            Expanded="true">
             
            <asp:TreeNode Text="Chapter One">
            
              <asp:TreeNode Text="Section 1.0">
              
                <asp:TreeNode Text="Topic 1.0.1"/>
                <asp:TreeNode Text="Topic 1.0.2"/>
                <asp:TreeNode Text="Topic 1.0.3"/>
              
              </asp:TreeNode>
              
              <asp:TreeNode Text="Section 1.1">
              
                <asp:TreeNode Text="Topic 1.1.1"/>
                <asp:TreeNode Text="Topic 1.1.2"/>
                <asp:TreeNode Text="Topic 1.1.3"/>
                <asp:TreeNode Text="Topic 1.1.4"/>
              
              </asp:TreeNode>
            
            </asp:TreeNode>
            
            <asp:TreeNode Text="Chapter Two">
            
              <asp:TreeNode Text="Section 2.0">
              
                <asp:TreeNode Text="Topic 2.0.1"/>
                <asp:TreeNode Text="Topic 2.0.2"/>
              
              </asp:TreeNode>
            
            </asp:TreeNode>
            
          </asp:TreeNode>
          
          <asp:TreeNode Text="Appendix A" />
          <asp:TreeNode Text="Appendix B" />
          <asp:TreeNode Text="Appendix C" />
        
        </Nodes>
        
      </asp:TreeView>

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

    If Not IsPostBack Then

      ' Use the Add and Remove methods to programmatically 
      ' remove the Appendix C node and replace it with a new 
      ' node. 
      LinksTreeView.Nodes.Remove(LinksTreeView.Nodes(3))
      LinksTreeView.Nodes.Add(New TreeNode("New Appendix C"))

      ' Use the AddAt and RemoveAt methods to programmatically 
      ' remove the Chapter One node and replace it with a new node.
      LinksTreeView.Nodes(0).ChildNodes.RemoveAt(0)
      LinksTreeView.Nodes(0).ChildNodes.AddAt(0, New TreeNode("New Chapter One"))

      ' Use the Clear method to remove all the child nodes of the 
      ' Chapter Two node.
      LinksTreeView.Nodes(0).ChildNodes(1).ChildNodes.Clear()

    End If

  End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>TreeNodeCollection Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>TreeNodeCollection Example</h3>
    
      <asp:TreeView id="LinksTreeView"
        Font-Names= "Arial"
        ForeColor="Blue"
        runat="server">
         
        <LevelStyles>
        
          <asp:TreeNodeStyle ChildNodesPadding="10" 
            Font-Bold="true" 
            Font-Size="12pt" 
            ForeColor="DarkGreen"/>
          <asp:TreeNodeStyle ChildNodesPadding="5" 
            Font-Bold="true" 
            Font-Size="10pt"/>
          <asp:TreeNodeStyle ChildNodesPadding="5" 
            Font-UnderLine="true" 
            Font-Size="10pt"/>
          <asp:TreeNodeStyle ChildNodesPadding="10" 
            Font-Size="8pt"/>
             
        </LevelStyles>
         
        <Nodes>
        
          <asp:TreeNode Text="Table of Contents"
            Expanded="true">
             
            <asp:TreeNode Text="Chapter One">
            
              <asp:TreeNode Text="Section 1.0">
              
                <asp:TreeNode Text="Topic 1.0.1"/>
                <asp:TreeNode Text="Topic 1.0.2"/>
                <asp:TreeNode Text="Topic 1.0.3"/>
              
              </asp:TreeNode>
              
              <asp:TreeNode Text="Section 1.1">
              
                <asp:TreeNode Text="Topic 1.1.1"/>
                <asp:TreeNode Text="Topic 1.1.2"/>
                <asp:TreeNode Text="Topic 1.1.3"/>
                <asp:TreeNode Text="Topic 1.1.4"/>
              
              </asp:TreeNode>
            
            </asp:TreeNode>
            
            <asp:TreeNode Text="Chapter Two">
            
              <asp:TreeNode Text="Section 2.0">
              
                <asp:TreeNode Text="Topic 2.0.1"/>
                <asp:TreeNode Text="Topic 2.0.2"/>
              
              </asp:TreeNode>
            
            </asp:TreeNode>
            
          </asp:TreeNode>
          
          <asp:TreeNode Text="Appendix A" />
          <asp:TreeNode Text="Appendix B" />
          <asp:TreeNode Text="Appendix C" />
        
        </Nodes>
        
      </asp:TreeView>

    </form>
  </body>
</html>

Hinweise

Die TreeNodeCollection Klasse wird verwendet, um eine Auflistung von TreeNode Objekten im TreeView Steuerelement zu speichern und zu verwalten. Das TreeView Steuerelement verwendet die TreeNodeCollection Klasse in zwei seiner Eigenschaften. Er speichert seine Stammknoten in der Eigenschaft und seine ausgewählten Knoten in der Nodes CheckedNodes Eigenschaft. Die TreeNodeCollection Auflistung wird auch für die ChildNodes Eigenschaft verwendet, um untergeordnete Knoten (falls vorhanden) zu speichern.

Die TreeNodeCollection Klasse unterstützt verschiedene Möglichkeiten zum 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 GetEnumerator Methode, um einen Aufzählungsator zu erstellen, der zum Iterieren durch die Auflistung verwendet werden kann.

  • Verwenden Sie foreach (C#) oder For Each (Visual Basic) zum Iterieren durch die Auflistung.

  • Verwenden Sie die CopyTo Methode, um den Inhalt der Auflistung in ein Array Objekt zu kopieren.

Sie können das TreeNodeCollection Programm programmgesteuert verwalten, indem Sie Objekte hinzufügen und entfernen TreeNode . Verwenden Sie zum Hinzufügen von Knoten zur Auflistung die Methode oder AddAt die Add Methode. Um Knoten aus der Auflistung zu entfernen, verwenden Sie die Remove, RemoveAtoder Clear Methode.

Hinweis

Wenn das Steuerelement an eine Datenquelle gebunden ist, werden die TreeView Nodes und ChildNodes Sammlungen automatisch bei jeder Bindung ausgefüllt. Alle Änderungen an den Sammlungen zwischen Bindungen gehen verloren. Um diese Änderungen beizubehalten, aktualisieren Sie entweder die Datenquelle, oder erstellen Sie die Auflistung bei jeder Bindung manuell neu.

Dies TreeNodeCollection enthält Eigenschaften und Methoden, mit denen Sie Informationen zu der Auflistung selbst abrufen können. Um herauszufinden, wie viele Elemente in der Auflistung enthalten sind, verwenden Sie die Count Eigenschaft. Wenn Sie bestimmen möchten, ob die Auflistung ein bestimmtes TreeNode Objekt enthält, verwenden Sie die Contains Methode. Um den Index eines TreeNode Objekts in der Auflistung abzurufen, verwenden Sie die IndexOf Methode.

Konstruktoren

TreeNodeCollection()

Initialisiert eine neue Instanz der TreeNodeCollection-Klasse unter Verwendung der Standardwerte.

TreeNodeCollection(TreeNode)

Initialisiert eine neue Instanz der TreeNodeCollection-Klasse unter Verwendung des angegebenen übergeordneten Knotens (oder Besitzers).

Eigenschaften

Count

Ruft die Anzahl der Elemente im TreeNodeCollection-Objekt ab.

IsSynchronized

Ruft einen Wert ab, der angibt, ob der Zugriff auf die TreeNodeCollection synchronisiert (threadsicher) ist.

Item[Int32]

Ruft das TreeNode-Objekt am angegebenen Index im TreeNodeCollection-Objekt ab.

SyncRoot

Ruft ein Objekt ab, mit dem der Zugriff auf das TreeNodeCollection-Objekt synchronisiert werden kann.

Methoden

Add(TreeNode)

Fügt das angegebene TreeNode-Objekt an das Ende des TreeNodeCollection-Objekts an.

AddAt(Int32, TreeNode)

Fügt das angegebene TreeNode-Objekt an der angegebenen Indexposition in einem TreeNodeCollection-Objekt ein.

Clear()

Leert das TreeNodeCollection-Objekt.

Contains(TreeNode)

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

CopyTo(TreeNode[], Int32)

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

Equals(Object)

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

(Geerbt von Object)
GetEnumerator()

Gibt einen Enumerator zurück, mit dem ein TreeNodeCollection-Objekt durchlaufen werden kann.

GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
IndexOf(TreeNode)

Ruft den Index des angegebenen TreeNode-Objekts ab.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
Remove(TreeNode)

Entfernt das angegebene TreeNode-Objekt aus dem TreeNodeCollection-Objekt.

RemoveAt(Int32)

Entfernt das TreeNode-Objekt an der angegebenen Indexposition aus dem TreeNodeCollection-Objekt.

ToString()

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

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

ICollection.CopyTo(Array, Int32)

Kopiert alle Elemente aus dem TreeNodeCollection-Objekt in ein kompatibles eindimensionales Array, wobei bei dem angegebenen Index des Zielarrays begonnen wird.

IStateManager.IsTrackingViewState

Ruft einen Wert ab, der angibt, ob das TreeNodeCollection-Objekt Änderungen des Ansichtszustands speichert.

IStateManager.LoadViewState(Object)

Lädt den zuvor gespeicherten Ansichtszustand des TreeNodeCollection-Objekts.

IStateManager.SaveViewState()

Speichert die Änderungen am Ansichtszustand in einem Object.

IStateManager.TrackViewState()

Weist die TreeNodeCollection an, Änderungen am Ansichtszustand nachzuverfolgen.

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

Siehe auch