TreeNodeBindingCollection Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Representa uma coleção de TreeNodeBinding objetos no TreeView controlo. Esta classe não pode ser herdada.
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
- Herança
Exemplos
Esta seção contém dois exemplos de código. O primeiro exemplo de código demonstra como preencher um TreeNodeBindingCollection objeto de forma declarativa. O segundo exemplo de código demonstra como preencher um TreeNodeBindingCollection objeto programaticamente.
O exemplo de código seguinte demonstra como preencher um TreeNodeBindingCollection objeto de forma declarativa. Para que este exemplo funcione corretamente, deve copiar os dados XML localizados no final desta secção para um ficheiro chamado 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>
O seguinte exemplo de código demonstra como preencher um TreeNodeBindingCollection objeto programaticamente. Para que este exemplo funcione corretamente, deve copiar os dados XML de exemplo localizados no final desta secção para um ficheiro chamado 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>
Segue-se os dados XML dos exemplos de código anteriores.
<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>
Observações
A TreeNodeBindingCollection classe é usada para armazenar e gerir uma coleção de TreeNodeBinding objetos no TreeView controlo. O TreeView controlo usa a TreeNodeBindingCollection classe pela sua DataBindings propriedade.
A DataBindings propriedade contém TreeNodeBinding objetos que definem a relação entre um elemento de dados e o nó ao qual está ligado. Ao ligar a uma fonte de dados onde cada elemento contém múltiplas propriedades (como um elemento XML com vários atributos), um nó apresenta o valor que é devolvido pelo ToString método do elemento de dados, por defeito. No caso de um elemento XML, o nó apresenta o nome do elemento, que mostra a estrutura subjacente da árvore, mas não é muito útil de outra forma. Pode associar um nó a uma propriedade específica de um elemento de dados especificando ligações de nós em árvore. Embora a DataBindings coleção possa ser preenchida programaticamente, normalmente é definida de forma declarativa.
Para definir declarativamente as ligações de nós da árvore:
Etiquetas de abertura e fecho
<DataBindings>do ninho entre as etiquetas de abertura e fecho do TreeView controlo.Coloque
<asp:TreeNodeBinding>elementos entre as etiquetas de abertura e fecho<DataBindings>para cada ligação de nós da árvore que pretende especificar.
Podes gerir programaticamente um TreeNodeBindingCollection adicionando e removendo TreeNodeBinding objetos. Para adicionar um TreeNodeBinding objeto à coleção, use o Add método ou Insert . Para remover nós da coleção, use o Remove, RemoveAt, ou StateManagedCollection.Clear o método.
A TreeNodeBindingCollection classe suporta várias formas de aceder aos itens da coleção:
Use o Item[] indexador para recuperar um TreeNode objeto diretamente num índice específico baseado em zero.
Use o StateManagedCollection.GetEnumerator método para criar um enumerador que possa ser usado para iterar pela coleção.
Propriedades
| Name | Description |
|---|---|
| Count |
Obtém o número de elementos contidos na StateManagedCollection coleção. (Herdado de StateManagedCollection) |
| Item[Int32] |
Obtém ou define o TreeNodeBinding objeto no índice especificado no TreeNodeBindingCollection objeto. |
Métodos
| Name | Description |
|---|---|
| Add(TreeNodeBinding) |
Acrescenta o objeto especificado TreeNodeBinding ao final do TreeNodeBindingCollection objeto. |
| Clear() |
Remove todos os itens da StateManagedCollection coleção. (Herdado de StateManagedCollection) |
| Contains(TreeNodeBinding) |
Determina se o objeto especificado TreeNodeBinding está na coleção. |
| CopyTo(Array, Int32) |
Copia os elementos da StateManagedCollection coleção para um array, começando num índice particular do array. (Herdado de StateManagedCollection) |
| CopyTo(TreeNodeBinding[], Int32) |
Copia todos os itens do TreeNodeBindingCollection objeto para um array unidimensional compatível de TreeNodeBinding objectos, começando no índice especificado no array-alvo. |
| CreateKnownType(Int32) |
Quando sobrescrito numa classe derivada, cria-se uma instância de uma classe que implementa IStateManager. O tipo de objeto criado baseia-se no membro especificado da coleção devolvido pelo GetKnownTypes() método. (Herdado de StateManagedCollection) |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetEnumerator() |
Devolve um iterador que itera pela StateManagedCollection coleção. (Herdado de StateManagedCollection) |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetKnownTypes() |
Quando é sobreposto numa classe derivada, obtém um array de IStateManager tipos que a StateManagedCollection coleção pode conter. (Herdado de StateManagedCollection) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| IndexOf(TreeNodeBinding) |
Determina o índice do objeto especificado TreeNodeBinding na coleção. |
| Insert(Int32, TreeNodeBinding) |
Insere o objeto especificado TreeNodeBinding no TreeNodeBindingCollection objeto na localização do índice especificada. |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| OnClear() |
Quando sobreposto numa classe derivada, realiza trabalho adicional antes de o Clear() método remover todos os itens da coleção. (Herdado de StateManagedCollection) |
| OnClearComplete() |
Quando sobreposto numa classe derivada, realiza trabalho adicional após o Clear() método terminar de remover todos os itens da coleção. (Herdado de StateManagedCollection) |
| OnInsert(Int32, Object) |
Quando sobreposto numa classe derivada, realiza trabalho adicional antes de o IList.Insert(Int32, Object) método ou IList.Add(Object) adicionar um item à coleção. (Herdado de StateManagedCollection) |
| OnInsertComplete(Int32, Object) |
Quando sobreposto numa classe derivada, realiza trabalho adicional após o IList.Insert(Int32, Object) método ou IList.Add(Object) adicionar um item à coleção. (Herdado de StateManagedCollection) |
| OnRemove(Int32, Object) |
Quando sobreposto numa classe derivada, realiza trabalho adicional antes de o IList.Remove(Object) método ou IList.RemoveAt(Int32) remover o item especificado da coleção. (Herdado de StateManagedCollection) |
| OnRemoveComplete(Int32, Object) |
Quando sobreposto numa classe derivada, realiza trabalho adicional após o IList.Remove(Object) método ou IList.RemoveAt(Int32) remover o item especificado da coleção. (Herdado de StateManagedCollection) |
| OnValidate(Object) |
Quando sobreposto numa classe derivada, valida um elemento da StateManagedCollection coleção. (Herdado de StateManagedCollection) |
| Remove(TreeNodeBinding) |
Remove o objeto especificado TreeNodeBinding do TreeNodeBindingCollection objeto. |
| RemoveAt(Int32) |
Remove o TreeNodeBinding objeto na localização de índice especificada do TreeNodeBindingCollection objeto. |
| SetDirty() |
Força toda a StateManagedCollection coleção a ser serializada no estado de visualização. (Herdado de StateManagedCollection) |
| SetDirtyObject(Object) |
Quando sobreposto numa classe derivada, instrui um |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
Implementações de Interface Explícita
| Name | Description |
|---|---|
| ICollection.Count |
Obtém o número de elementos contidos na StateManagedCollection coleção. (Herdado de StateManagedCollection) |
| ICollection.IsSynchronized |
Recebe um valor que indica se a StateManagedCollection coleção está sincronizada (thread safe). Este método retorna |
| ICollection.SyncRoot |
Obtém um objeto que pode ser usado para sincronizar o acesso à StateManagedCollection coleção. Este método retorna |
| IEnumerable.GetEnumerator() |
Devolve um iterador que itera pela StateManagedCollection coleção. (Herdado de StateManagedCollection) |
| IList.Add(Object) |
Adiciona um item à StateManagedCollection coleção. (Herdado de StateManagedCollection) |
| IList.Clear() |
Remove todos os itens da StateManagedCollection coleção. (Herdado de StateManagedCollection) |
| IList.Contains(Object) |
Determina se a StateManagedCollection coleção contém um valor específico. (Herdado de StateManagedCollection) |
| IList.IndexOf(Object) |
Determina o índice de um item especificado na StateManagedCollection coleção. (Herdado de StateManagedCollection) |
| IList.Insert(Int32, Object) |
Insere um item na StateManagedCollection coleção no índice especificado. (Herdado de StateManagedCollection) |
| IList.IsFixedSize |
Recebe um valor que indica se a StateManagedCollection coleção tem um tamanho fixo. Este método retorna |
| IList.IsReadOnly |
Recebe um valor que indica se a StateManagedCollection coleção é apenas de leitura. (Herdado de StateManagedCollection) |
| IList.Item[Int32] |
Obtém o IStateManager elemento no índice especificado. (Herdado de StateManagedCollection) |
| IList.Remove(Object) |
Remove a primeira ocorrência do objeto especificado da StateManagedCollection coleção. (Herdado de StateManagedCollection) |
| IList.RemoveAt(Int32) |
Remove o IStateManager elemento no índice especificado. (Herdado de StateManagedCollection) |
| IStateManager.IsTrackingViewState |
Recebe um valor que indica se a StateManagedCollection coleção está a guardar alterações ao seu estado de visualização. (Herdado de StateManagedCollection) |
| IStateManager.LoadViewState(Object) |
Restaura o estado de visualização previamente guardado da StateManagedCollection coleção e dos IStateManager itens que contém. (Herdado de StateManagedCollection) |
| IStateManager.SaveViewState() |
Guarda as alterações à StateManagedCollection coleção e a cada IStateManager objeto que contém desde o momento em que a página foi publicada de volta no servidor. (Herdado de StateManagedCollection) |
| IStateManager.TrackViewState() |
Faz com que a StateManagedCollection coleção e cada um dos IStateManager objetos que contém acompanhem alterações no estado da sua visualização para que possam ser persistidos entre pedidos para a mesma página. (Herdado de StateManagedCollection) |
Métodos da Extensão
| Name | Description |
|---|---|
| AsParallel(IEnumerable) |
Permite a paralelização de uma consulta. |
| AsQueryable(IEnumerable) |
Converte um IEnumerable para um IQueryable. |
| Cast<TResult>(IEnumerable) |
Conjura os elementos de an IEnumerable para o tipo especificado. |
| OfType<TResult>(IEnumerable) |
Filtra os elementos de um IEnumerable com base num tipo especificado. |