TreeNodeBindingCollection Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
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:
Vnoření levých a uzavíracích
<DataBindings>značek mezi levou a pravou značkou TreeView ovládacího prvkuUmí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:
Pomocí indexeru Item[]TreeNode můžete načíst objekt přímo v určitém indexu založeném na nule.
Použijte metodu StateManagedCollection.GetEnumerator k vytvoření enumerátoru, který lze použít k iteraci 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 |
| 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í |
| ICollection.SyncRoot |
Získá objekt, který lze použít k synchronizaci přístupu k kolekci StateManagedCollection . Tato metoda vrátí |
| 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í |
| 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. |