Sdílet prostřednictvím


TreeNodeBindingCollection Třída

Definice

Představuje kolekci TreeNodeBinding objektů v ovládacím TreeView prvku. Tuto třídu nelze zdě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ím způsobem. Druhý příklad kódu ukazuje, jak naplnit TreeNodeBindingCollection objekt programově.

Následující příklad kódu ukazuje, jak naplnit TreeNodeBindingCollection objekt deklarativním způsobem. Aby tento příklad fungoval správně, musíte zkopírovat data XML umístěná na konci tohoto oddílu 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 umístěná 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ásleduje 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 slouží 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 jeho DataBindings vlastnost.

Vlastnost DataBindings obsahuje TreeNodeBinding objekty, které definují vztah mezi datovou položkou a uzlem, ke kterému je vázán. Při vazbě ke zdroji dat, kde každá datová položka obsahuje více vlastností (například element XML s několika atributy), uzel zobrazí hodnotu vrácenou metodou ToString datové položky ve výchozím nastavení. V případě elementu XML uzel zobrazí název elementu, který zobrazuje základní strukturu stromu, ale není velmi užitečné jinak. Uzel můžete svázat s konkrétní vlastností datové položky zadáním vazeb uzlů stromu. DataBindings I když se kolekce dá programově naplnit, obvykle se nastavuje deklarativním způsobem.

Nastavení vazeb uzlů stromu deklarativním způsobem:

  1. Vnoření levých a uzavíracích <DataBindings> značek mezi levou a pravou značkou TreeView ovládacího prvku

  2. Umístěte <asp:TreeNodeBinding> prvky mezi levou a uzavírací <DataBindings> značkou pro každou vazbu uzlu stromu, kterou chcete zadat.

Objekty můžete spravovat TreeNodeBindingCollection prostřednictvím kódu programu.TreeNodeBinding Chcete-li přidat TreeNodeBinding objekt do kolekce, použijte metodu nebo Insert metoduAdd. 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

Name Description
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 v zadaném indexu v objektu TreeNodeBindingCollection .

Metody

Name Description
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čuje, zda je zadaný objekt roven 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í funkce hash.

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

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

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

Získá Type aktuální instance.

(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 Object.

(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 po Clear() dokončení metody 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) přidáním položky do kolekce.IList.Add(Object)

(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) přidání položky IList.Add(Object) 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) odebráním IList.RemoveAt(Int32) zadané položky z kolekce.

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

Při přepsání v odvozené třídě provede další práci po IList.Remove(Object) odebrání IList.RemoveAt(Int32) zadané položky 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á kolekci pokyn object , aby zaznamenával celý stav, aby zobrazoval stav, a ne 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í

Name Description
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 (bezpečné vlákno). 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 k 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 urč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 určující, zda StateManagedCollection kolekce je jen pro čtení.

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

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

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

Odebere první výskyt zadaného objektu StateManagedCollection z 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 určující, zda StateManagedCollection kolekce ukládá změny do jeho stavu zobrazení.

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

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

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

Uloží změny StateManagedCollection v kolekci a každý IStateManager objekt, který obsahuje od doby, 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, bude sledovat změny jejich stavu zobrazení, aby bylo možné je zachovat napříč požadavky na stejnou stránku.

(Zděděno od StateManagedCollection)

Metody rozšíření

Name Description
AsParallel(IEnumerable)

Umožňuje paralelizaci dotazu.

AsQueryable(IEnumerable)

Převede IEnumerable na IQueryable.

Cast<TResult>(IEnumerable)

Přetypuje prvky IEnumerable na zadaný typ.

OfType<TResult>(IEnumerable)

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

Platí pro

Viz také