Sdílet prostřednictvím


TreeNodeBindingCollection Třída

Definice

Představuje kolekci TreeNodeBinding objektů v ovládacím TreeView prvku. Tuto třídu nelze dědit.

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
Dědičnost
TreeNodeBindingCollection

Příklady

Tato část obsahuje dva příklady kódu. První příklad kódu ukazuje, jak naplnit TreeNodeBindingCollection objekt deklarativně. Druhý příklad kódu ukazuje, jak naplnit TreeNodeBindingCollection objekt programově.

Následující příklad kódu ukazuje, jak naplnit TreeNodeBindingCollection objekt deklarativně. Aby tento příklad fungoval správně, musíte zkopírovat data XML, která se nachází na konci této části, do souboru s názvem 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>

Následující příklad kódu ukazuje, jak naplnit TreeNodeBindingCollection objekt programově. Aby tento příklad fungoval správně, musíte zkopírovat ukázková data XML, která se nachází na konci této části, do souboru s názvem 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>

Níže jsou uvedena data XML pro předchozí příklady kódu.

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

Poznámky

Třída TreeNodeBindingCollection se používá k ukládání a správě kolekce TreeNodeBinding objektů v ovládacím TreeView prvku. Ovládací TreeView prvek používá TreeNodeBindingCollection třídu pro svou DataBindings vlastnost.

Vlastnost DataBindings obsahuje TreeNodeBinding objekty, které definují vztah mezi položkou dat a uzlem, na který je vázána. Při vazbě na zdroj dat, kde každá položka dat obsahuje více vlastností (například element XML s několika atributy), uzel zobrazí hodnotu, která je ve výchozím nastavení vrácena metodou ToString datové položky. V případě elementu XML uzel zobrazí název elementu, který zobrazuje základní strukturu stromu, ale jinak není příliš užitečný. Uzel můžete vytvořit vazbu na konkrétní vlastnost datové položky zadáním vazeb uzlu stromové struktury. I když je možné kolekci DataBindings naplnit programově, obvykle se nastavuje deklarativně.

Deklarativně nastavíte vazby uzlů stromové struktury:

  1. Značky otevírání a uzavírání <DataBindings> vnořujte mezi značky TreeView otevření a uzavření ovládacího prvku.

  2. Umístěte <asp:TreeNodeBinding> prvky mezi levou a závěrečnou <DataBindings> značku pro každou vazbu uzlu stromové struktury, kterou chcete zadat.

Objekt můžete spravovat TreeNodeBindingCollection prostřednictvím kódu programu tak, že přidáte nebo odeberete TreeNodeBinding objekty. Pokud chcete do kolekce přidat TreeNodeBinding objekt, použijte metodu Add nebo Insert . Pokud chcete odebrat uzly z kolekce, použijte metodu Remove, RemoveAtnebo StateManagedCollection.Clear .

Třída TreeNodeBindingCollection podporuje několik způsobů přístupu k položkám v kolekci:

Vlastnosti

Count

Získá počet prvků obsažených v kolekci StateManagedCollection .

(Zděděno od StateManagedCollection)
Item[Int32]

Získá nebo nastaví TreeNodeBinding objekt na zadaný index v objektu TreeNodeBindingCollection .

Metody

Add(TreeNodeBinding)

Připojí zadaný TreeNodeBinding objekt na konec objektu TreeNodeBindingCollection .

Clear()

Odebere všechny položky z StateManagedCollection kolekce.

(Zděděno od StateManagedCollection)
Contains(TreeNodeBinding)

Určuje, zda je zadaný TreeNodeBinding objekt v kolekci.

CopyTo(Array, Int32)

Zkopíruje prvky StateManagedCollection kolekce do pole počínaje konkrétním indexem pole.

(Zděděno od StateManagedCollection)
CopyTo(TreeNodeBinding[], Int32)

Zkopíruje všechny položky z objektu TreeNodeBindingCollection do kompatibilního jednorozměrného pole TreeNodeBinding objektů, počínaje zadaným indexem v cílovém poli.

CreateKnownType(Int32)

Při přepsání v odvozené třídě vytvoří instanci třídy, která implementuje IStateManager. Typ vytvořeného objektu je založen na zadaném členu kolekce vrácené metodou GetKnownTypes() .

(Zděděno od StateManagedCollection)
Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetEnumerator()

Vrátí iterátor, který prochází kolekcí StateManagedCollection .

(Zděděno od StateManagedCollection)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetKnownTypes()

Při přepsání v odvozené třídě získá pole IStateManager typů, které StateManagedCollection může kolekce obsahovat.

(Zděděno od StateManagedCollection)
GetType()

Získá aktuální Type instanci.

(Zděděno od Object)
IndexOf(TreeNodeBinding)

Určuje index zadaného TreeNodeBinding objektu v kolekci.

Insert(Int32, TreeNodeBinding)

Vloží zadaný TreeNodeBinding objekt do objektu TreeNodeBindingCollection v zadaném umístění indexu.

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
OnClear()

Při přepsání v odvozené třídě provede další práci předtím, než Clear() metoda odebere všechny položky z kolekce.

(Zděděno od StateManagedCollection)
OnClearComplete()

Při přepsání v odvozené třídě provede další práci poté, co Clear() metoda dokončí odebrání všech položek z kolekce.

(Zděděno od StateManagedCollection)
OnInsert(Int32, Object)

Při přepsání v odvozené třídě provede další práci před IList.Insert(Int32, Object)IList.Add(Object) nebo metoda přidá položku do kolekce.

(Zděděno od StateManagedCollection)
OnInsertComplete(Int32, Object)

Při přepsání v odvozené třídě provede další práci po IList.Insert(Int32, Object)IList.Add(Object) nebo metoda přidá položku do kolekce.

(Zděděno od StateManagedCollection)
OnRemove(Int32, Object)

Při přepsání v odvozené třídě provede další práci před IList.Remove(Object)IList.RemoveAt(Int32) nebo metoda odebere zadanou položku z kolekce.

(Zděděno od StateManagedCollection)
OnRemoveComplete(Int32, Object)

Při přepsání v odvozené třídě provede další práci poté, co IList.Remove(Object) metoda nebo IList.RemoveAt(Int32) odebere zadanou položku z kolekce.

(Zděděno od StateManagedCollection)
OnValidate(Object)

Při přepsání v odvozené třídě ověří prvek StateManagedCollection kolekce.

(Zděděno od StateManagedCollection)
Remove(TreeNodeBinding)

Odebere zadaný TreeNodeBinding objekt z objektu TreeNodeBindingCollection .

RemoveAt(Int32)

Odebere TreeNodeBinding objekt v zadaném umístění indexu z objektu TreeNodeBindingCollection .

SetDirty()

Vynutí serializaci celé StateManagedCollection kolekce do stavu zobrazení.

(Zděděno od StateManagedCollection)
SetDirtyObject(Object)

Při přepsání v odvozené třídě dává pokyn object kolekci, aby zaznamenával celý svůj stav a zobrazoval stav, místo aby zaznamenával pouze informace o změnách.

(Zděděno od StateManagedCollection)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Explicitní implementace rozhraní

ICollection.Count

Získá počet prvků obsažených v kolekci StateManagedCollection .

(Zděděno od StateManagedCollection)
ICollection.IsSynchronized

Získá hodnotu označující, zda StateManagedCollection je kolekce synchronizována (bez vláken). Tato metoda vrátí false ve všech případech.

(Zděděno od StateManagedCollection)
ICollection.SyncRoot

Získá objekt, který lze použít k synchronizaci přístupu ke kolekci StateManagedCollection . Tato metoda vrátí null ve všech případech.

(Zděděno od StateManagedCollection)
IEnumerable.GetEnumerator()

Vrátí iterátor, který prochází kolekcí StateManagedCollection .

(Zděděno od StateManagedCollection)
IList.Add(Object)

Přidá položku do StateManagedCollection kolekce.

(Zděděno od StateManagedCollection)
IList.Clear()

Odebere všechny položky z StateManagedCollection kolekce.

(Zděděno od StateManagedCollection)
IList.Contains(Object)

Určuje, zda StateManagedCollection kolekce obsahuje konkrétní hodnotu.

(Zděděno od StateManagedCollection)
IList.IndexOf(Object)

Určuje index zadané položky v kolekci StateManagedCollection .

(Zděděno od StateManagedCollection)
IList.Insert(Int32, Object)

Vloží položku do StateManagedCollection kolekce v zadaném indexu.

(Zděděno od StateManagedCollection)
IList.IsFixedSize

Získá hodnotu označující, zda StateManagedCollection kolekce má pevnou velikost. Tato metoda vrátí false ve všech případech.

(Zděděno od StateManagedCollection)
IList.IsReadOnly

Získá hodnotu označující, zda StateManagedCollection je kolekce jen pro čtení.

(Zděděno od StateManagedCollection)
IList.Item[Int32]

IStateManager Získá element v zadaném indexu.

(Zděděno od StateManagedCollection)
IList.Remove(Object)

Odebere první výskyt zadaného objektu z StateManagedCollection kolekce.

(Zděděno od StateManagedCollection)
IList.RemoveAt(Int32)

Odebere IStateManager prvek v zadaném indexu.

(Zděděno od StateManagedCollection)
IStateManager.IsTrackingViewState

Získá hodnotu označující, zda StateManagedCollection kolekce ukládá změny do svého stavu zobrazení.

(Zděděno od StateManagedCollection)
IStateManager.LoadViewState(Object)

Obnoví dříve uložený stav StateManagedCollection zobrazení kolekce a položek, které IStateManager obsahuje.

(Zděděno od StateManagedCollection)
IStateManager.SaveViewState()

Uloží změny StateManagedCollection kolekce a všech IStateManager objektů, které obsahuje od okamžiku, kdy byla stránka odeslána zpět na server.

(Zděděno od StateManagedCollection)
IStateManager.TrackViewState()

Způsobí, že StateManagedCollection kolekce a každý z IStateManager objektů, které obsahuje, budou sledovat změny stavu zobrazení, aby je bylo možné zachovat napříč požadavky na stejnou stránku.

(Zděděno od StateManagedCollection)

Metody rozšíření

Cast<TResult>(IEnumerable)

Přetypuje prvky objektu na IEnumerable zadaný typ.

OfType<TResult>(IEnumerable)

Filtruje prvky objektu IEnumerable na základě zadaného typu.

AsParallel(IEnumerable)

Umožňuje paralelizaci dotazu.

AsQueryable(IEnumerable)

Převede objekt na IEnumerableIQueryable.

Platí pro

Viz také