TreeNodeBindingCollection Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje kolekcję TreeNodeBinding obiektów w kontrolce TreeView . Klasa ta nie może być dziedziczona.
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
- Dziedziczenie
Przykłady
Ten rozdział zawiera dwa przykłady kodu. W pierwszym przykładzie kodu pokazano, jak deklaratywnie wypełnić TreeNodeBindingCollection obiekt. Drugi przykład kodu pokazuje, jak programowo wypełnić TreeNodeBindingCollection obiekt.
W poniższym przykładzie kodu pokazano, jak deklaratywnie wypełnić TreeNodeBindingCollection obiekt. Aby ten przykład działał poprawnie, należy skopiować dane XML znajdujące się na końcu tej sekcji do pliku o nazwie 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>
W poniższym przykładzie kodu pokazano, jak programowo wypełnić TreeNodeBindingCollection obiekt. Aby ten przykład działał poprawnie, należy skopiować przykładowe dane XML znajdujące się na końcu tej sekcji do pliku o nazwie 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>
Poniżej przedstawiono dane XML dla powyższych przykładów kodu.
<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>
Uwagi
Klasa TreeNodeBindingCollection służy do przechowywania kolekcji TreeNodeBinding obiektów w kontrolce TreeView i zarządzania nimi. Kontrolka TreeView używa TreeNodeBindingCollection klasy dla jej DataBindings właściwości.
Właściwość DataBindings zawiera TreeNodeBinding obiekty definiujące relację między elementem danych a węzłem, z którym jest powiązanie. W przypadku powiązania ze źródłem danych, w którym każdy element danych zawiera wiele właściwości (takich jak element XML z kilkoma atrybutami), węzeł wyświetla wartość zwracaną przez ToString
metodę elementu danych domyślnie. W przypadku elementu XML węzeł wyświetla nazwę elementu, który pokazuje podstawową strukturę drzewa, ale nie jest bardzo przydatny w przeciwnym razie. Węzeł można powiązać z określoną właściwością elementu danych, określając powiązania węzła drzewa. DataBindings Chociaż kolekcja może być wypełniana programowo, zwykle jest ustawiana deklaratywnie.
Aby deklaratywnie ustawić powiązania węzła drzewa:
Zagnieżdżanie tagów otwierania i zamykania między tagami otwierania i zamykania
<DataBindings>
kontrolki TreeView .Umieść
<asp:TreeNodeBinding>
elementy między znacznikami otwierania i zamykania<DataBindings>
dla każdego powiązania węzła drzewa, które chcesz określić.
Można programowo zarządzać obiektami TreeNodeBindingCollection , dodając i usuwając TreeNodeBinding obiekty. Aby dodać TreeNodeBinding obiekt do kolekcji, użyj Add metody or Insert . Aby usunąć węzły z kolekcji, użyj Removemetody , RemoveAtlub StateManagedCollection.Clear .
Klasa TreeNodeBindingCollection obsługuje kilka sposobów uzyskiwania dostępu do elementów w kolekcji:
Użyj indeksatora Item[] , aby pobrać TreeNode obiekt bezpośrednio z określonego indeksu opartego na zerze.
StateManagedCollection.GetEnumerator Użyj metody , aby utworzyć moduł wyliczający, który może służyć do iteracji w kolekcji.
Właściwości
Count |
Pobiera liczbę elementów zawartych w kolekcji StateManagedCollection . (Odziedziczone po StateManagedCollection) |
Item[Int32] |
Pobiera lub ustawia TreeNodeBinding obiekt w określonym indeksie TreeNodeBindingCollection w obiekcie. |
Metody
Add(TreeNodeBinding) |
Dołącza określony TreeNodeBinding obiekt na końcu TreeNodeBindingCollection obiektu. |
Clear() |
Usuwa wszystkie elementy z kolekcji StateManagedCollection . (Odziedziczone po StateManagedCollection) |
Contains(TreeNodeBinding) |
Określa, czy określony TreeNodeBinding obiekt znajduje się w kolekcji. |
CopyTo(Array, Int32) |
Kopiuje elementy StateManagedCollection kolekcji do tablicy, zaczynając od określonego indeksu tablicy. (Odziedziczone po StateManagedCollection) |
CopyTo(TreeNodeBinding[], Int32) |
Kopiuje wszystkie elementy z TreeNodeBindingCollection obiektu do zgodnej jednowymiarowej tablicy TreeNodeBinding obiektów, zaczynając od określonego indeksu w tablicy docelowej. |
CreateKnownType(Int32) |
Po przesłonięciu w klasie pochodnej tworzy wystąpienie klasy implementujące IStateManagermetodę . Typ utworzonego obiektu jest oparty na określonym elemencie członkowskim kolekcji zwróconej przez metodę GetKnownTypes() . (Odziedziczone po StateManagedCollection) |
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetEnumerator() |
Zwraca iterator iterujący przez StateManagedCollection kolekcję. (Odziedziczone po StateManagedCollection) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetKnownTypes() |
Po zastąpieniu w klasie pochodnej pobiera tablicę IStateManager typów, które StateManagedCollection może zawierać kolekcja. (Odziedziczone po StateManagedCollection) |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
IndexOf(TreeNodeBinding) |
Określa indeks określonego TreeNodeBinding obiektu w kolekcji. |
Insert(Int32, TreeNodeBinding) |
Wstawia określony TreeNodeBinding obiekt do TreeNodeBindingCollection obiektu w określonej lokalizacji indeksu. |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
OnClear() |
Po zastąpieniu w klasie pochodnej wykonuje dodatkową pracę, zanim Clear() metoda usunie wszystkie elementy z kolekcji. (Odziedziczone po StateManagedCollection) |
OnClearComplete() |
Po przesłonięciu w klasie pochodnej wykonuje dodatkową pracę po zakończeniu Clear() usuwania wszystkich elementów z kolekcji. (Odziedziczone po StateManagedCollection) |
OnInsert(Int32, Object) |
Po zastąpieniu klasy pochodnej wykonuje dodatkową pracę przed IList.Insert(Int32, Object) dodaniu elementu do kolekcji przez metodę or IList.Add(Object) . (Odziedziczone po StateManagedCollection) |
OnInsertComplete(Int32, Object) |
Po zastąpieniu w klasie pochodnej wykonuje dodatkową pracę po IList.Insert(Int32, Object) dodaniu elementu do kolekcji przez metodę or IList.Add(Object) . (Odziedziczone po StateManagedCollection) |
OnRemove(Int32, Object) |
Po zastąpieniu w klasie pochodnej wykonuje dodatkową pracę przed IList.Remove(Object) usunięciem określonego elementu z kolekcji przez metodę or IList.RemoveAt(Int32) . (Odziedziczone po StateManagedCollection) |
OnRemoveComplete(Int32, Object) |
W przypadku zastąpienia w klasie pochodnej wykonuje dodatkową pracę po IList.Remove(Object) usunięciu określonego elementu z kolekcji przez metodę or IList.RemoveAt(Int32) . (Odziedziczone po StateManagedCollection) |
OnValidate(Object) |
Po przesłonięciu w klasie pochodnej weryfikuje element kolekcji StateManagedCollection . (Odziedziczone po StateManagedCollection) |
Remove(TreeNodeBinding) |
Usuwa określony TreeNodeBinding obiekt z TreeNodeBindingCollection obiektu. |
RemoveAt(Int32) |
TreeNodeBinding Usuwa obiekt w określonej lokalizacji indeksu TreeNodeBindingCollection z obiektu. |
SetDirty() |
Wymusza serializacji całej StateManagedCollection kolekcji w stan widoku. (Odziedziczone po StateManagedCollection) |
SetDirtyObject(Object) |
Po przesłonięciu w klasie pochodnej instruuje |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
Jawne implementacje interfejsu
ICollection.Count |
Pobiera liczbę elementów zawartych w kolekcji StateManagedCollection . (Odziedziczone po StateManagedCollection) |
ICollection.IsSynchronized |
Pobiera wartość wskazującą, czy StateManagedCollection kolekcja jest synchronizowana (bezpieczne wątki). Ta metoda zwraca wszystkie |
ICollection.SyncRoot |
Pobiera obiekt, który może służyć do synchronizowania dostępu do StateManagedCollection kolekcji. Ta metoda zwraca wszystkie |
IEnumerable.GetEnumerator() |
Zwraca iterator iterujący przez StateManagedCollection kolekcję. (Odziedziczone po StateManagedCollection) |
IList.Add(Object) |
Dodaje element do kolekcji StateManagedCollection . (Odziedziczone po StateManagedCollection) |
IList.Clear() |
Usuwa wszystkie elementy z kolekcji StateManagedCollection . (Odziedziczone po StateManagedCollection) |
IList.Contains(Object) |
Określa, czy StateManagedCollection kolekcja zawiera określoną wartość. (Odziedziczone po StateManagedCollection) |
IList.IndexOf(Object) |
Określa indeks określonego elementu w kolekcji StateManagedCollection . (Odziedziczone po StateManagedCollection) |
IList.Insert(Int32, Object) |
Wstawia element do kolekcji StateManagedCollection w określonym indeksie. (Odziedziczone po StateManagedCollection) |
IList.IsFixedSize |
Pobiera wartość wskazującą, czy StateManagedCollection kolekcja ma stały rozmiar. Ta metoda zwraca wszystkie |
IList.IsReadOnly |
Pobiera wartość wskazującą, czy StateManagedCollection kolekcja jest tylko do odczytu. (Odziedziczone po StateManagedCollection) |
IList.Item[Int32] |
IStateManager Pobiera element w określonym indeksie. (Odziedziczone po StateManagedCollection) |
IList.Remove(Object) |
Usuwa pierwsze wystąpienie określonego obiektu z kolekcji StateManagedCollection . (Odziedziczone po StateManagedCollection) |
IList.RemoveAt(Int32) |
IStateManager Usuwa element w określonym indeksie. (Odziedziczone po StateManagedCollection) |
IStateManager.IsTrackingViewState |
Pobiera wartość wskazującą, czy StateManagedCollection kolekcja zapisuje zmiany w stanie widoku. (Odziedziczone po StateManagedCollection) |
IStateManager.LoadViewState(Object) |
Przywraca wcześniej zapisany stan StateManagedCollection widoku kolekcji i IStateManager zawarte w nim elementy. (Odziedziczone po StateManagedCollection) |
IStateManager.SaveViewState() |
Zapisuje zmiany w StateManagedCollection kolekcji i każdy IStateManager obiekt, który zawiera od czasu opublikowania strony z powrotem na serwerze. (Odziedziczone po StateManagedCollection) |
IStateManager.TrackViewState() |
Powoduje, że StateManagedCollection kolekcja i każdy z IStateManager obiektów, które zawiera, aby śledzić zmiany w ich stanie wyświetlania, dzięki czemu mogą być utrwalane między żądaniami dla tej samej strony. (Odziedziczone po StateManagedCollection) |
Metody rozszerzania
Cast<TResult>(IEnumerable) |
Rzutuje elementy elementu IEnumerable na określony typ. |
OfType<TResult>(IEnumerable) |
Filtruje elementy IEnumerable elementu na podstawie określonego typu. |
AsParallel(IEnumerable) |
Umożliwia równoległość zapytania. |
AsQueryable(IEnumerable) |
Konwertuje element IEnumerable na .IQueryable |