TreeView.DataBindings Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene una colección de objetos TreeNodeBinding que definen la relación entre un elemento de datos y el nodo al que se enlaza.
public:
property System::Web::UI::WebControls::TreeNodeBindingCollection ^ DataBindings { System::Web::UI::WebControls::TreeNodeBindingCollection ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public System.Web.UI.WebControls.TreeNodeBindingCollection DataBindings { get; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.DataBindings : System.Web.UI.WebControls.TreeNodeBindingCollection
Public ReadOnly Property DataBindings As TreeNodeBindingCollection
Valor de propiedad
Colección TreeNodeBindingCollection que representa la relación entre un elemento de datos y el nodo al que se enlaza.
- Atributos
Ejemplos
Esta sección contiene dos ejemplos de código. En el primer ejemplo de código se muestra cómo usar la DataBindings colección para definir la relación entre un elemento de datos y el nodo al que está enlazando. En el segundo ejemplo de código se proporcionan datos XML de ejemplo para el primer ejemplo de código.
En el ejemplo de código siguiente se muestra cómo usar la DataBindings colección para definir la relación entre un elemento de datos y el nodo al que está enlazando. Para que este ejemplo funcione correctamente, debe copiar los datos XML de ejemplo, proporcionados después de este ejemplo de código, en un archivo denominado Book.xml. En este ejemplo solo se especifica la DataMember propiedad del enlace. También se puede agregar una ligera ganancia de rendimiento especificando la Depth propiedad .
<%@ 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>
En el ejemplo de código siguiente se proporcionan datos XML de ejemplo para el ejemplo anterior.
<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>
Comentarios
La DataBindings colección contiene TreeNodeBinding objetos que definen la relación entre un elemento de datos y el nodo al que está enlazando. Cuando se enlaza a un origen de datos donde cada elemento de datos contiene varias propiedades (como un elemento XML con varios atributos), un nodo muestra el valor devuelto por el ToString
método del elemento de datos de forma predeterminada. En el caso de un elemento XML, el nodo muestra el nombre del elemento, que muestra la estructura subyacente del árbol, pero no es muy útil de lo contrario. Puede enlazar un nodo a una propiedad de elemento de datos específica especificando enlaces de nodo de árbol.
Al definir la relación entre un elemento de datos y un nodo, debe especificar los criterios de enlace y los valores que se van a enlazar a las propiedades del TreeNode objeto. Los criterios indican cuándo se debe enlazar un elemento de datos a un nodo. Los criterios se pueden especificar con una profundidad de nodo, un miembro de datos o ambos. Una profundidad de nodo especifica el nivel de nodo que se enlaza. Por ejemplo, si especifica una profundidad de nodo de 0, todos los nodos de la estructura de árbol en el nivel 0 se enlazan mediante el enlace de nodo de árbol. Un miembro de datos especifica el tipo del elemento de datos en el origen de datos subyacente, pero puede representar información diferente en función del origen de datos. Por ejemplo, el miembro de datos de un elemento XML especifica el nombre del elemento.
Si se definen varios TreeNodeBinding objetos que entran en conflicto entre sí, el TreeView control aplica los enlaces de nodo de árbol en el siguiente orden de precedencia:
Objeto TreeNodeBinding que define una profundidad y un miembro de datos.
Objeto TreeNodeBinding que define solo la profundidad.
Objeto TreeNodeBinding que define solo el miembro de datos.
Objeto TreeNodeBinding que define ni la profundidad ni el miembro de datos.
Si se especifican varios enlaces que cumplen los mismos criterios de precedencia, se aplica el primer enlace de la colección.
Una vez establecidos los criterios de enlace, puede enlazar una propiedad de un TreeNode objeto que se puede enlazar a un valor. Puede enlazar a un atributo o campo de un elemento de datos o mostrar un valor estático. Para obtener más información sobre cómo enlazar las propiedades de un TreeNode objeto a un valor, vea TreeNodeBinding.
Aunque la DataBindings colección se puede rellenar mediante programación, normalmente se establece mediante declaración. Para especificar los enlaces de nodo de árbol, anida primero las etiquetas de apertura y cierre <DataBindings>
entre las etiquetas de apertura y cierre del TreeView control. A continuación, coloque <asp:TreeNodeBinding>
los elementos entre las etiquetas de apertura y cierre <DataBindings>
de cada enlace de nodo de árbol que quiera especificar.
Cuando se crean enlaces de datos estableciendo la AutoGenerateDataBindings propiedad del TreeView control true
en , los enlaces creados tienen la PopulateOnDemand propiedad establecida true
en . Los enlaces de datos creados mediante declaración tienen la PopulateOnDemand propiedad establecida en false
. El uso de la sintaxis declarativa permite controlar el comportamiento de los enlaces de datos individuales.