TreeView Clase
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í.
Muestra datos jerárquicos, como una tabla de contenido, en una estructura de árbol.
public ref class TreeView : System::Web::UI::WebControls::HierarchicalDataBoundControl, System::Web::UI::ICallbackEventHandler, System::Web::UI::IPostBackDataHandler, System::Web::UI::IPostBackEventHandler
[System.Web.UI.ControlValueProperty("SelectedValue")]
public class TreeView : System.Web.UI.WebControls.HierarchicalDataBoundControl, System.Web.UI.ICallbackEventHandler, System.Web.UI.IPostBackDataHandler, System.Web.UI.IPostBackEventHandler
[<System.Web.UI.ControlValueProperty("SelectedValue")>]
type TreeView = class
inherit HierarchicalDataBoundControl
interface IPostBackEventHandler
interface IPostBackDataHandler
interface ICallbackEventHandler
Public Class TreeView
Inherits HierarchicalDataBoundControl
Implements ICallbackEventHandler, IPostBackDataHandler, IPostBackEventHandler
- Herencia
- Atributos
- Implementaciones
Ejemplos
Esta sección contiene siete ejemplos de código:
En el primer ejemplo de código se muestra cómo configurar los marcos para el segundo ejemplo de código.
En el segundo ejemplo de código se muestra cómo usar la sintaxis declarativa para mostrar datos estáticos en el TreeView control.
En el tercer ejemplo de código se muestra cómo enlazar el TreeView control a un origen de datos XML.
En el cuarto ejemplo de código se proporcionan datos XML de ejemplo para el tercer ejemplo de código.
En el quinto ejemplo de código se muestra cómo usar el control para la TreeView navegación del sitio enlazandolo a un SiteMapDataSource control .
El sexto ejemplo de código proporciona datos de mapa de sitio de ejemplo para el quinto ejemplo de código.
En el séptimo ejemplo de código se muestra cómo rellenar los nodos del TreeView control desde el cliente.
En el ejemplo de código siguiente se muestra cómo configurar los marcos para el ejemplo de código siguiente.
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>TreeView Frameset Example</title>
</head>
<frameset cols="30%, 75%">
<frame title="MenuFrame" name="Menu" src="TreeViewFramecs.aspx"/>
<frame title="ContentFrame" name="Content" src="Home.aspx"/>
</frameset>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>TreeView Frameset Example</title>
</head>
<frameset cols="30%, 75%">
<frame title="MenuFrame" name="Menu" src="TreeViewFramevb.aspx"/>
<frame title="ContentFrame" name="Content" src="Home.aspx"/>
</frameset>
</html>
En el ejemplo de código siguiente se muestra cómo usar la sintaxis declarativa para mostrar datos estáticos en el TreeView control . Este ejemplo se usa en el conjunto de fotogramas del ejemplo anterior para mostrar una tabla de contenido.
<%@ 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 Declarative Syntax Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TreeView Declarative Syntax Example</h3>
<asp:TreeView id="SampleTreeView"
runat="server">
<Nodes>
<asp:TreeNode Value="Home"
NavigateUrl="Home.aspx"
Text="Home"
Target="Content"
Expanded="True">
<asp:TreeNode Value="Page 1"
NavigateUrl="Page1.aspx"
Text="Page1"
Target="Content">
<asp:TreeNode Value="Section 1"
NavigateUrl="Section1.aspx"
Text="Section 1"
Target="Content"/>
</asp:TreeNode>
<asp:TreeNode Value="Page 2"
NavigateUrl="Page2.aspx"
Text="Page 2"
Target="Content">
</asp:TreeNode>
</asp:TreeNode>
</Nodes>
</asp:TreeView>
</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 Declarative Syntax Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TreeView Declarative Syntax Example</h3>
<asp:TreeView id="SampleTreeView"
runat="server">
<Nodes>
<asp:TreeNode Value="Home"
NavigateUrl="Home.aspx"
Text="Home"
Target="Content"
Expanded="True">
<asp:TreeNode Value="Page 1"
NavigateUrl="Page1.aspx"
Text="Page1"
Target="Content">
<asp:TreeNode Value="Section 1"
NavigateUrl="Section1.aspx"
Text="Section 1"
Target="Content"/>
</asp:TreeNode>
<asp:TreeNode Value="Page 2"
NavigateUrl="Page2.aspx"
Text="Page 2"
Target="Content">
</asp:TreeNode>
</asp:TreeNode>
</Nodes>
</asp:TreeView>
</form>
</body>
</html>
En el ejemplo de código siguiente se muestra cómo enlazar el TreeView control a un origen de datos XML. 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.
<%@ 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>
En el ejemplo de código siguiente se muestra cómo usar el control para la TreeView navegación del sitio enlazandolo a un SiteMapDataSource control . Para que este ejemplo funcione correctamente, debe copiar los datos del mapa del sitio de ejemplo, proporcionados después de este ejemplo de código, en un archivo denominado Web.sitemap.
<%@ 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 AutoGenerateBindings Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TreeView AutoGenerateBindings Example</h3>
<!-- Set the AutoGenerateBindings property -->
<!-- to false declaratively to allow for -->
<!-- the user-defined Bindings collection. -->
<asp:TreeView id="SiteTreeView"
DataSourceID="SiteMapSource"
AutoGenerateDataBindings="False"
runat="server">
<DataBindings>
<asp:TreeNodeBinding TextField="title" NavigateUrlField="url"/>
</DataBindings>
</asp:TreeView>
<asp:SiteMapDataSource ID="SiteMapSource" 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">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>TreeView AutoGenerateBindings Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TreeView AutoGenerateBindings Example</h3>
<!-- Set the AutoGenerateBindings property -->
<!-- to false declaratively to allow for -->
<!-- the user-defined Bindings collection. -->
<asp:TreeView id="SiteTreeView"
DataSourceID="SiteMapSource"
AutoGenerateDataBindings="False"
runat="server">
<DataBindings>
<asp:TreeNodeBinding TextField="title" NavigateUrlField="url"/>
</DataBindings>
</asp:TreeView>
<asp:SiteMapDataSource ID="SiteMapSource" runat="server"/>
</form>
</body>
</html>
En el ejemplo de código siguiente se proporcionan datos de mapa de sitio de ejemplo para el ejemplo de código anterior.
<siteMap>
<siteMapNode title="Home" description="Home" url="default.aspx">
<siteMapNode title="Products" description="Products" url="Products.aspx">
<siteMapNode title="Computers" url="Computers.aspx"/>
<siteMapNode title="Accessories" url="Accessories.aspx"/>
</siteMapNode>
</siteMapNode>
</siteMap>
En el ejemplo de código siguiente se muestra cómo rellenar los nodos del TreeView control desde el cliente. Cuando el rellenado de nodos del lado cliente está habilitado, los nodos se rellenan dinámicamente en el cliente, sin necesidad de volver a publicar en el servidor.
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void PopulateNode(Object sender, TreeNodeEventArgs e)
{
// Call the appropriate method to populate a node at a particular level.
switch(e.Node.Depth)
{
case 0:
// Populate the first-level nodes.
PopulateCategories(e.Node);
break;
case 1:
// Populate the second-level nodes.
PopulateProducts(e.Node);
break;
default:
// Do nothing.
break;
}
}
void PopulateCategories(TreeNode node)
{
// Query for the product categories. These are the values
// for the second-level nodes.
DataSet ResultSet = RunQuery("Select CategoryID, CategoryName From Categories");
// Create the second-level nodes.
if(ResultSet.Tables.Count > 0)
{
// Iterate through and create a new node for each row in the query results.
// Notice that the query results are stored in the table of the DataSet.
foreach (DataRow row in ResultSet.Tables[0].Rows)
{
// Create the new node. Notice that the CategoryId is stored in the Value property
// of the node. This will make querying for items in a specific category easier when
// the third-level nodes are created.
TreeNode newNode = new TreeNode();
newNode.Text = row["CategoryName"].ToString();
newNode.Value = row["CategoryID"].ToString();
// Set the PopulateOnDemand property to true so that the child nodes can be
// dynamically populated.
newNode.PopulateOnDemand = true;
// Set additional properties for the node.
newNode.SelectAction = TreeNodeSelectAction.Expand;
// Add the new node to the ChildNodes collection of the parent node.
node.ChildNodes.Add(newNode);
}
}
}
void PopulateProducts(TreeNode node)
{
// Query for the products of the current category. These are the values
// for the third-level nodes.
DataSet ResultSet = RunQuery("Select ProductName From Products Where CategoryID=" + node.Value);
// Create the third-level nodes.
if(ResultSet.Tables.Count > 0)
{
// Iterate through and create a new node for each row in the query results.
// Notice that the query results are stored in the table of the DataSet.
foreach (DataRow row in ResultSet.Tables[0].Rows)
{
// Create the new node.
TreeNode NewNode = new TreeNode(row["ProductName"].ToString());
// Set the PopulateOnDemand property to false, because these are leaf nodes and
// do not need to be populated.
NewNode.PopulateOnDemand = false;
// Set additional properties for the node.
NewNode.SelectAction = TreeNodeSelectAction.None;
// Add the new node to the ChildNodes collection of the parent node.
node.ChildNodes.Add(NewNode);
}
}
}
DataSet RunQuery(String QueryString)
{
// Declare the connection string. This example uses Microsoft SQL Server
// and connects to the Northwind sample database.
String ConnectionString = "server=localhost;database=NorthWind;Integrated Security=SSPI";
SqlConnection DBConnection = new SqlConnection(ConnectionString);
SqlDataAdapter DBAdapter;
DataSet ResultsDataSet = new DataSet();
try
{
// Run the query and create a DataSet.
DBAdapter = new SqlDataAdapter(QueryString, DBConnection);
DBAdapter.Fill(ResultsDataSet);
// Close the database connection.
DBConnection.Close();
}
catch(Exception ex)
{
// Close the database connection if it is still open.
if(DBConnection.State == ConnectionState.Open)
{
DBConnection.Close();
}
Message.Text = "Unable to connect to the database.";
}
return ResultsDataSet;
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>TreeView PopulateNodesFromClient Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TreeView PopulateNodesFromClient Example</h3>
<asp:TreeView id="LinksTreeView"
Font-Names= "Arial"
ForeColor="Blue"
EnableClientScript="true"
PopulateNodesFromClient="true"
OnTreeNodePopulate="PopulateNode"
runat="server">
<Nodes>
<asp:TreeNode Text="Inventory"
SelectAction="Expand"
PopulateOnDemand="true"/>
</Nodes>
</asp:TreeView>
<br /><br />
<asp:Label id="Message" runat="server"/>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Sub PopulateNode(ByVal sender As Object, ByVal e As TreeNodeEventArgs)
' Call the appropriate method to populate a node at a particular level.
Select Case e.Node.Depth
Case 0
' Populate the first-level nodes.
PopulateCategories(e.Node)
Case 1
' Populate the second-level nodes.
PopulateProducts(e.Node)
Case Else
' Do nothing.
End Select
End Sub
Sub PopulateCategories(ByVal node As TreeNode)
' Query for the product categories. These are the values
' for the second-level nodes.
Dim ResultSet As DataSet = RunQuery("Select CategoryID, CategoryName From Categories")
' Create the second-level nodes.
If ResultSet.Tables.Count > 0 Then
' Iterate through and create a new node for each row in the query results.
' Notice that the query results are stored in the table of the DataSet.
Dim row As DataRow
For Each row In ResultSet.Tables(0).Rows
' Create the new node. Notice that the CategoryId is stored in the Value property
' of the node. This will make querying for items in a specific category easier when
' the third-level nodes are created.
Dim newNode As TreeNode = New TreeNode()
Newnode.Text = row("CategoryName").ToString()
Newnode.Value = row("CategoryID").ToString()
' Set the PopulateOnDemand property to true so that the child nodes can be
' dynamically populated.
newNode.PopulateOnDemand = True
' Set additional properties for the node.
newNode.SelectAction = TreeNodeSelectAction.Expand
' Add the new node to the ChildNodes collection of the parent node.
node.ChildNodes.Add(newNode)
Next
End If
End Sub
Sub PopulateProducts(ByVal node As TreeNode)
' Query for the products of the current category. These are the values
' for the third-level nodes.
Dim ResultSet As DataSet = RunQuery("Select ProductName From Products Where CategoryID=" & node.Value)
' Create the third-level nodes.
If ResultSet.Tables.Count > 0 Then
' Iterate through and create a new node for each row in the query results.
' Notice that the query results are stored in the table of the DataSet.
Dim row As DataRow
For Each row In ResultSet.Tables(0).Rows
' Create the new node.
Dim NewNode As TreeNode = New TreeNode(row("ProductName").ToString())
' Set the PopulateOnDemand property to false, because these are leaf nodes and
' do not need to be populated.
NewNode.PopulateOnDemand = False
' Set additional properties for the node.
NewNode.SelectAction = TreeNodeSelectAction.None
' Add the new node to the ChildNodes collection of the parent node.
node.ChildNodes.Add(NewNode)
Next
End If
End Sub
Function RunQuery(ByVal QueryString As String) As DataSet
' Declare the connection string. This example uses Microsoft SQL Server
' and connects to the Northwind sample database.
Dim ConnectionString As String = "server=localhost;database=NorthWind;Integrated Security=SSPI"
Dim DBConnection As SqlConnection = New SqlConnection(ConnectionString)
Dim DBAdapter As SqlDataAdapter
Dim ResultsDataSet As DataSet = New DataSet
Try
' Run the query and create a DataSet.
DBAdapter = New SqlDataAdapter(QueryString, DBConnection)
DBAdapter.Fill(ResultsDataSet)
' Close the database connection.
DBConnection.Close()
Catch ex As Exception
' Close the database connection if it is still open.
If DBConnection.State = ConnectionState.Open Then
DBConnection.Close()
End If
Message.Text = "Unable to connect to the database."
End Try
Return ResultsDataSet
End Function
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>TreeView PopulateNodesFromClient Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TreeView PopulateNodesFromClient Example</h3>
<asp:TreeView id="LinksTreeView"
Font-Names= "Arial"
ForeColor="Blue"
EnableClientScript="true"
PopulateNodesFromClient="true"
OnTreeNodePopulate="PopulateNode"
runat="server">
<Nodes>
<asp:TreeNode Text="Inventory"
SelectAction="Expand"
PopulateOnDemand="true"/>
</Nodes>
</asp:TreeView>
<br /><br />
<asp:Label id="Message" runat="server"/>
</form>
</body>
</html>
Comentarios
En este tema:
Introducción
El TreeView control se usa para mostrar datos jerárquicos, como una tabla de contenido o directorio de archivos, en una estructura de árbol y admite las siguientes características:
Enlace de datos que permite enlazar los nodos del control a datos XML, tabulares o relacionales.
Navegación por el sitio a través de la integración con el SiteMapDataSource control .
Texto del nodo que se puede mostrar como texto sin formato o hipervínculos.
Acceso mediante programación al TreeView modelo de objetos para crear árboles, rellenar nodos, establecer propiedades, etc. dinámicamente.
Rellenado de nodos del lado cliente (en exploradores compatibles).
La capacidad de mostrar una casilla junto a cada nodo.
Apariencia personalizable a través de temas, imágenes definidas por el usuario y estilos.
Nota
El TreeView control está diseñado para usarse dentro de un UpdatePanel control solo cuando EnableClientScript se establece en
true
. UpdatePanel Los controles se usan para actualizar las regiones seleccionadas de una página en lugar de actualizar toda la página con un postback. Para obtener más información, vea UpdatePanel Control Overview y Partial-Page Rendering Overview.
Nodos
El TreeView control se compone de nodos. Cada entrada del árbol se denomina nodo y se representa mediante un TreeNode objeto . Los tipos de nodo se definen de la siguiente manera:
Un nodo que contiene otros nodos se denomina nodo primario.
El nodo contenido por otro nodo se denomina nodo secundario.
Un nodo que no tiene elementos secundarios se denomina nodo hoja.
El nodo que no contiene ningún otro nodo, pero es el antecesor de todos los demás nodos es el nodo raíz.
Un nodo puede ser tanto primario como secundario, pero los nodos raíz, primario y hoja son mutuamente excluyentes. Varias propiedades visuales y de comportamiento de los nodos se determinan si un nodo es raíz, secundario o nodo hoja.
Aunque una estructura de árbol típica tiene solo un nodo raíz, el TreeView control permite agregar varios nodos raíz a la estructura de árbol. Esto resulta útil cuando desea mostrar listados de elementos sin mostrar un único nodo raíz, como en una lista de categorías de productos.
Cada nodo tiene una Text propiedad y una Value propiedad . El valor de la Text propiedad se muestra en TreeView, mientras que la Value propiedad se usa para almacenar datos adicionales sobre el nodo, como los datos que se pasan al evento de postback asociado al nodo.
Un nodo puede estar en uno de los dos modos: modo de selección y modo de navegación. De forma predeterminada, un nodo está en modo de selección. Para colocar un nodo en modo de navegación, establezca la NavigateUrl propiedad del nodo en un valor distinto de una cadena vacía (""). Para colocar un nodo en modo de selección, establezca la NavigateUrl propiedad del nodo en una cadena vacía ("").
Nota
Algunos exploradores de Internet tienen una limitación que puede afectar al rendimiento del TreeView control. Por ejemplo, Microsoft Internet Explorer 6.0 tiene un límite de caracteres de dirección URL de 2067 caracteres que publica. Si el número de caracteres de una dirección URL de un nodo es mayor que ese número, se producirá un error al expandir ese nodo y no se producirá ninguna excepción.
Datos estáticos
El modelo de datos más sencillo del TreeView control es datos estáticos. Para mostrar datos estáticos mediante la sintaxis declarativa, anida primero las etiquetas de apertura y cierre <Nodes>
entre las etiquetas de apertura y cierre del TreeView control. A continuación, cree la estructura de árbol anidando <asp:TreeNode>
elementos entre las etiquetas de apertura y cierre <Nodes>
. Cada <asp:TreeNode>
elemento representa un nodo del árbol y se asigna a un TreeNode objeto . Puede establecer las propiedades de cada nodo estableciendo los atributos de su <asp:TreeNode>
elemento. Para crear nodos secundarios, anida elementos adicionales <asp:TreeNode>
entre las etiquetas de apertura y cierre <asp:TreeNode>
del nodo primario.
Enlace a datos
El TreeView control también se puede enlazar a los datos. Puede usar cualquiera de los dos métodos para enlazar el TreeView control al tipo de origen de datos adecuado:
El TreeView control puede usar cualquier control de origen de datos que implemente la IHierarchicalDataSource interfaz, como un XmlDataSource control o un SiteMapDataSource control . Para enlazar a un control de origen de datos, establezca la DataSourceID propiedad del TreeView control en el ID valor del control de origen de datos. El TreeView control se enlaza automáticamente al control de origen de datos especificado. Este es el método preferido para enlazar a los datos.
El TreeView control también se puede enlazar a un XmlDocument objeto o a un DataSet objeto con relaciones. Para enlazar a uno de estos orígenes de datos, establezca la DataSource propiedad del control en el origen de TreeView datos y, a continuación, llame al DataBind método .
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 mediante la DataBindings colección. La DataBindings colección contiene TreeNodeBinding
objetos que definen la relación entre un elemento de datos y el nodo al que está enlazando. Puede especificar los criterios para el enlace y la propiedad del elemento de datos que se va a mostrar en el nodo. Para obtener más información sobre los enlaces de nodo de árbol, vea TreeNodeBinding.
Importante
Un usuario malintencionado puede crear una solicitud de devolución de llamada y obtener datos para los nodos del TreeView control que el desarrollador de páginas no está mostrando. Por lo tanto, el origen de datos debe implementar la seguridad de los datos. No utilice la MaxDataBindDepth propiedad para ocultar los datos.
Rellenado dinámico de nodos
A veces, no es práctico definir estáticamente la estructura de árbol porque el origen de datos devuelve demasiados datos o porque los datos que se van a mostrar dependen de la información que obtenga en tiempo de ejecución. Por este motivo, el control admite el TreeView rellenado dinámico de nodos. Cuando la PopulateOnDemand propiedad de un nodo se establece true
en , ese nodo se rellena en tiempo de ejecución cuando se expande el nodo. Para rellenar un nodo dinámicamente, debe definir un método de control de eventos que contenga la lógica para rellenar un nodo para el TreeNodePopulate evento.
Los exploradores que admiten scripts de devolución de llamada también pueden aprovechar el rellenado de nodos del lado cliente. (Esto incluye Internet Explorer 5.5 y versiones posteriores y otros exploradores). El rellenado de nodos del lado cliente permite que el TreeView control rellene un nodo mediante el script de cliente cuando los usuarios expandan el nodo, sin necesidad de un recorrido de ida y vuelta al servidor. Para obtener más información sobre el rellenado de nodos del lado cliente, vea PopulateNodesFromClient.
Personalización de la interfaz de usuario
Hay muchas maneras de personalizar la apariencia del TreeView control. En primer lugar, puede especificar un estilo diferente (como el tamaño de fuente y el color) para cada uno de los tipos de nodo.
Si usa hojas de estilos en cascada (CSS) para personalizar la apariencia del control, use estilos insertados o un archivo CSS independiente, pero no ambos. El uso de estilos insertados y un archivo CSS independiente podría provocar resultados inesperados. Para obtener más información sobre el uso de hojas de estilos con controles, vea Controles de servidor web y estilos CSS.
En la tabla siguiente se enumeran los estilos de nodo disponibles.
Propiedad de estilo de nodo | Descripción |
---|---|
HoverNodeStyle | La configuración de estilo de un nodo cuando el puntero del mouse se coloca sobre él. |
LeafNodeStyle | La configuración de estilo de los nodos hoja. |
NodeStyle | La configuración de estilo predeterminada para un nodo. |
ParentNodeStyle | La configuración de estilo de los nodos primarios. |
RootNodeStyle | La configuración de estilo del nodo raíz. |
SelectedNodeStyle | La configuración de estilo de un nodo seleccionado. |
También puede controlar el estilo de los nodos en profundidades específicas dentro del árbol mediante la LevelStyles colección . El primer estilo de la colección corresponde al estilo de los nodos en el primer nivel del árbol. El segundo estilo de la colección corresponde al estilo de los nodos en el segundo nivel del árbol, etc. Esto se usa con más frecuencia para generar menús de navegación de estilo de contenido donde los nodos en una determinada profundidad deben tener la misma apariencia, independientemente de si tienen nodos secundarios.
Nota
Si se define un estilo para un determinado nivel de profundidad mediante la LevelStyles colección, ese estilo invalida cualquier configuración de estilo de nodo raíz, primario o hoja para los nodos en esa profundidad.
Otra manera de modificar la apariencia del control es personalizar las imágenes que se muestran en el TreeView control. Puede especificar su propio conjunto personalizado de imágenes para las distintas partes del control estableciendo las propiedades que se muestran en la tabla siguiente.
Propiedad Image | Descripción |
---|---|
CollapseImageUrl | Dirección URL de una imagen que se muestra para el indicador de nodo contraíble. Esta imagen suele ser un signo menos (-). |
ExpandImageUrl | Dirección URL de una imagen que se muestra para el indicador de nodo expandible. Esta imagen suele ser un signo más (+). |
LineImagesFolder | Dirección URL de la carpeta que contiene las imágenes de línea usadas para conectar nodos primarios a nodos secundarios. La ShowLines propiedad también debe establecerse true en para que esta propiedad tenga un efecto. |
NoExpandImageUrl | Dirección URL de una imagen que se muestra para el indicador de nodo no expandible. |
Nota
No es necesario personalizar todas las propiedades de imagen. Si no se establece explícitamente una propiedad de imagen, se usa la imagen predeterminada integrada.
El TreeView control también permite mostrar una casilla junto a un nodo. Cuando la ShowCheckBoxes propiedad se establece en un valor distinto TreeNodeTypes.None
de , se muestran las casillas junto a los tipos de nodo especificados.
Nota
La ShowCheckBoxes propiedad se puede establecer en una combinación bit a bit de los TreeNodeTypes valores de miembro de enumeración.
Cada vez que la página se publica en el servidor, la CheckedNodes colección se rellena automáticamente con los nodos seleccionados. Cuando se muestran las casillas, puede usar el TreeNodeCheckChanged evento para ejecutar una rutina personalizada cada vez que el estado de una casilla cambia entre publicaciones en el servidor.
Eventos
El TreeView control proporciona varios eventos contra los que puede programar. Esto le permite ejecutar una rutina personalizada cada vez que se produce un evento. En la tabla siguiente se enumeran los eventos admitidos por el TreeView control .
Evento | Descripción |
---|---|
TreeNodeCheckChanged | Se produce cuando las casillas del estado de cambio de TreeView control entre publicaciones en el servidor. |
SelectedNodeChanged | Se desencadena cuando se selecciona un nodo en el control TreeView. |
TreeNodeExpanded | Se desencadena cuando se expande un nodo en el control TreeView. |
TreeNodeCollapsed | Se desencadena cuando se contrae un nodo en el control TreeView. |
TreeNodePopulate | Aparece cuando un nodo con su propiedad PopulateOnDemand establecida en true se expande en el control TreeView. |
TreeNodeDataBound | Se desencadena cuando un elemento de datos se enlaza a un nodo en el control TreeView. |
Desplazarse
El TreeView control no tiene desplazamiento integrado. Para agregar desplazamiento, coloque el TreeView control en un Panel control y agregue barras de desplazamiento al Panel control. Para obtener más información, vea Panel Web Server Control Overview.
Accesibilidad
Es posible que el marcado representado de forma predeterminada para este control no se ajuste a los estándares de accesibilidad. Para obtener más información sobre la compatibilidad de accesibilidad con este control, consulte ASP.NET Controles y accesibilidad.
Sintaxis declarativa
<asp:TreeView
AccessKey="string"
AutoGenerateDataBindings="True|False"
BackColor="color name|#dddddd"
BorderColor="color name|#dddddd"
BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|Groove|Ridge|
Inset|Outset"
BorderWidth="size"
CollapseImageToolTip="string"
CollapseImageUrl="uri"
CssClass="string"
DataSource="string"
DataSourceID="string"
EnableClientScript="True|False"
Enabled="True|False"
EnableTheming="True|False"
EnableViewState="True|False"
ExpandDepth="string|FullyExpand|0|1|2|3|4|5|6|7|8|9|10|11|12|13|
14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30"
ExpandImageToolTip="string"
ExpandImageUrl="uri"
Font-Bold="True|False"
Font-Italic="True|False"
Font-Names="string"
Font-Overline="True|False"
Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|Medium|
Large|X-Large|XX-Large"
Font-Strikeout="True|False"
Font-Underline="True|False"
ForeColor="color name|#dddddd"
Height="size"
ID="string"
ImageSet="Custom|XPFileExplorer|Msdn|WindowsHelp|Simple|Simple2|
BulletedList|BulletedList2|BulletedList3|BulletedList4|
Arrows|News|Contacts|Inbox|Events|Faq"
LineImagesFolder="string"
MaxDataBindDepth="integer"
NodeIndent="integer"
NodeWrap="True|False"
NoExpandImageUrl="uri"
OnDataBinding="DataBinding event handler"
OnDataBound="DataBound event handler"
OnDisposed="Disposed event handler"
OnInit="Init event handler"
OnLoad="Load event handler"
OnPreRender="PreRender event handler"
OnSelectedNodeChanged="SelectedNodeChanged event handler"
OnTreeNodeCheckChanged="TreeNodeCheckChanged event handler"
OnTreeNodeCollapsed="TreeNodeCollapsed event handler"
OnTreeNodeDataBound="TreeNodeDataBound event handler"
OnTreeNodeExpanded="TreeNodeExpanded event handler"
OnTreeNodePopulate="TreeNodePopulate event handler"
OnUnload="Unload event handler"
PathSeparator="string"
PopulateNodesFromClient="True|False"
runat="server"
ShowCheckBoxes="None|Root|Parent|Leaf|All"
ShowExpandCollapse="True|False"
ShowLines="True|False"
SkinID="string"
SkipLinkText="string"
Style="string"
TabIndex="integer"
Target="string"
ToolTip="string"
Visible="True|False"
Width="size"
>
<DataBindings>
<asp:TreeNodeBinding
DataMember="string"
Depth="integer"
FormatString="string"
ImageToolTip="string"
ImageToolTipField="string"
ImageUrl="uri"
ImageUrlField="string"
NavigateUrl="uri"
NavigateUrlField="string"
PopulateOnDemand="True|False"
SelectAction="Select|Expand|SelectExpand|None"
ShowCheckBox="string"
Target="string"
TargetField="string"
Text="string"
TextField="string"
ToolTip="string"
ToolTipField="string"
Value="string"
ValueField="string"
/>
</DataBindings>
<HoverNodeStyle />
<LeafNodeStyle
BackColor="color name|#dddddd"
BorderColor="color name|#dddddd"
BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|
Groove|Ridge|Inset|Outset"
BorderWidth="size"
ChildNodesPadding="size"
CssClass="string"
Font-Bold="True|False"
Font-Italic="True|False"
Font-Names="string"
Font-Overline="True|False"
Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|
Medium|Large|X-Large|XX-Large"
Font-Strikeout="True|False"
Font-Underline="True|False"
ForeColor="color name|#dddddd"
Height="size"
HorizontalPadding="size"
ImageUrl="uri"
NodeSpacing="size"
OnDisposed="Disposed event handler"
VerticalPadding="size"
Width="size"
/>
<LevelStyles>
<asp:TreeNodeStyle
BackColor="color name|#dddddd"
BorderColor="color name|#dddddd"
BorderStyle="NotSet|None|Dotted|Dashed|Solid|
Double|Groove|Ridge|Inset|Outset"
BorderWidth="size"
ChildNodesPadding="size"
CssClass="string"
Font-Bold="True|False"
Font-Italic="True|False"
Font-Names="string"
Font-Overline="True|False"
Font-Size="string|Smaller|Larger|XX-Small|
X-Small|Small|Medium|Large|X-Large|XX-Large"
Font-Strikeout="True|False"
Font-Underline="True|False"
ForeColor="color name|#dddddd"
Height="size"
HorizontalPadding="size"
ImageUrl="uri"
NodeSpacing="size"
OnDisposed="Disposed event handler"
VerticalPadding="size"
Width="size"
/>
</LevelStyles>
<Nodes>
<asp:TreeNode
Checked="True|False"
Expanded="string"
ImageToolTip="string"
ImageUrl="uri"
NavigateUrl="uri"
PopulateOnDemand="True|False"
SelectAction="Select|Expand|SelectExpand|None"
Selected="True|False"
ShowCheckBox="string"
Target="string"
Text="string"
ToolTip="string"
Value="string"
>
</asp:TreeNode>
</Nodes>
<NodeStyle
BackColor="color name|#dddddd"
BorderColor="color name|#dddddd"
BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|
Groove|Ridge|Inset|Outset"
BorderWidth="size"
ChildNodesPadding="size"
CssClass="string"
Font-Bold="True|False"
Font-Italic="True|False"
Font-Names="string"
Font-Overline="True|False"
Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|
Medium|Large|X-Large|XX-Large"
Font-Strikeout="True|False"
Font-Underline="True|False"
ForeColor="color name|#dddddd"
Height="size"
HorizontalPadding="size"
ImageUrl="uri"
NodeSpacing="size"
OnDisposed="Disposed event handler"
VerticalPadding="size"
Width="size"
/>
<ParentNodeStyle
BackColor="color name|#dddddd"
BorderColor="color name|#dddddd"
BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|
Groove|Ridge|Inset|Outset"
BorderWidth="size"
ChildNodesPadding="size"
CssClass="string"
Font-Bold="True|False"
Font-Italic="True|False"
Font-Names="string"
Font-Overline="True|False"
Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|
Medium|Large|X-Large|XX-Large"
Font-Strikeout="True|False"
Font-Underline="True|False"
ForeColor="color name|#dddddd"
Height="size"
HorizontalPadding="size"
ImageUrl="uri"
NodeSpacing="size"
OnDisposed="Disposed event handler"
VerticalPadding="size"
Width="size"
/>
<RootNodeStyle
BackColor="color name|#dddddd"
BorderColor="color name|#dddddd"
BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|
Groove|Ridge|Inset|Outset"
BorderWidth="size"
ChildNodesPadding="size"
CssClass="string"
Font-Bold="True|False"
Font-Italic="True|False"
Font-Names="string"
Font-Overline="True|False"
Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|
Medium|Large|X-Large|XX-Large"
Font-Strikeout="True|False"
Font-Underline="True|False"
ForeColor="color name|#dddddd"
Height="size"
HorizontalPadding="size"
ImageUrl="uri"
NodeSpacing="size"
OnDisposed="Disposed event handler"
VerticalPadding="size"
Width="size"
/>
<SelectedNodeStyle
BackColor="color name|#dddddd"
BorderColor="color name|#dddddd"
BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|
Groove|Ridge|Inset|Outset"
BorderWidth="size"
ChildNodesPadding="size"
CssClass="string"
Font-Bold="True|False"
Font-Italic="True|False"
Font-Names="string"
Font-Overline="True|False"
Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|
Medium|Large|X-Large|XX-Large"
Font-Strikeout="True|False"
Font-Underline="True|False"
ForeColor="color name|#dddddd"
Height="size"
HorizontalPadding="size"
ImageUrl="uri"
NodeSpacing="size"
OnDisposed="Disposed event handler"
VerticalPadding="size"
Width="size"
/>
</asp:TreeView>
Constructores
TreeView() |
Inicializa una nueva instancia de la clase TreeView. |
Propiedades
AccessKey |
Obtiene o establece la clave de acceso que permite navegar rápidamente al control de servidor web. (Heredado de WebControl) |
Adapter |
Obtiene el adaptador específico del explorador para el control. (Heredado de Control) |
AppRelativeTemplateSourceDirectory |
Obtiene o establece el directorio virtual relativo a la aplicación del objeto Page o el objeto UserControl que contiene este control. (Heredado de Control) |
Attributes |
Obtiene la colección de atributos arbitrarios (sólo para su representación) que no corresponden a propiedades del control. (Heredado de WebControl) |
AutoGenerateDataBindings |
Obtiene o establece un valor que indica si el control TreeView genera automáticamente los enlaces del nodo de árbol. |
BackColor |
Obtiene o establece el color de fondo del control de servidor web. (Heredado de WebControl) |
BindingContainer |
Obtiene el control que contiene el enlace de datos de este control. (Heredado de Control) |
BorderColor |
Obtiene o establece el color de borde del control Web. (Heredado de WebControl) |
BorderStyle |
Obtiene o establece el estilo del borde del control de servidor web. (Heredado de WebControl) |
BorderWidth |
Obtiene o establece el ancho del borde del control de servidor web. (Heredado de WebControl) |
CheckedNodes |
Obtiene una colección de objetos TreeNode que representan los nodos del control TreeView que muestra una casilla activada. |
ChildControlsCreated |
Obtiene un valor que indica si se han creado controles secundarios del control de servidor. (Heredado de Control) |
ClientID |
Obtiene el id. de control para marcado HTML que se genera por ASP.NET. (Heredado de Control) |
ClientIDMode |
Obtiene o establece el algoritmo que se utiliza para generar el valor de la propiedad ClientID. (Heredado de Control) |
ClientIDSeparator |
Obtiene un valor de carácter que representa el carácter separado utilizado en la propiedad ClientID. (Heredado de Control) |
CollapseImageToolTip |
Obtiene o establece la información sobre herramientas para la imagen que se muestra para el indicador de nodo contraíble. |
CollapseImageUrl |
Obtiene o establece la dirección URL a una imagen personalizada para el indicador de nodo contraíble. |
Context |
Obtiene el objeto HttpContext asociado al control de servidor para la solicitud Web actual. (Heredado de Control) |
Controls |
Obtiene un objeto ControlCollection que representa los controles secundarios de un control de servidor especificado en la jerarquía de la interfaz de usuario. (Heredado de Control) |
ControlStyle |
Obtiene el estilo del control de servidor web. Esta propiedad la usan principalmente los programadores de controles. (Heredado de WebControl) |
ControlStyleCreated |
Obtiene un valor que indica si se ha creado un objeto Style para la propiedad ControlStyle. Esta propiedad la usan principalmente los programadores de controles. (Heredado de WebControl) |
CssClass |
Obtiene o establece la clase hoja de estilos en cascada (CSS) presentada por el control de servidor web en el cliente. (Heredado de WebControl) |
DataBindings |
Obtiene una colección de objetos TreeNodeBinding que definen la relación entre un elemento de datos y el nodo al que se enlaza. |
DataItemContainer |
Obtiene una referencia al contenedor de nomenclatura si este implementa IDataItemContainer. (Heredado de Control) |
DataKeysContainer |
Obtiene una referencia al contenedor de nomenclatura si este implementa IDataKeysControl. (Heredado de Control) |
DataSource |
Obtiene o establece el objeto del que el control enlazado a datos recupera su lista de elementos de datos. (Heredado de BaseDataBoundControl) |
DataSourceID |
Obtiene o establece el identificador del control desde el que el control enlazado a datos recupera su lista de elementos de datos. (Heredado de HierarchicalDataBoundControl) |
DesignMode |
Obtiene un valor que indica si se está utilizando un control en una superficie de diseño. (Heredado de Control) |
EnableClientScript |
Obtiene o establece un valor que indica si el control TreeView representa script de cliente para controlar los eventos de expansión y contracción. |
Enabled |
Obtiene o establece un valor que indica si el control de servidor web está habilitado. (Heredado de WebControl) |
EnableTheming |
Obtiene o establece un valor que indica si los temas se aplican a este control. (Heredado de WebControl) |
EnableViewState |
Obtiene o establece un valor que indica si el control de servidor conserva su estado de vista, así como el estado de vista de los controles secundarios que contiene, al cliente solicitante. (Heredado de Control) |
Events |
Obtiene una lista de delegados de controladores de eventos del control. Esta propiedad es de sólo lectura. (Heredado de Control) |
ExpandDepth |
Obtiene o establece el número de niveles que se expanden cuando se muestra un control TreeView por primera vez. |
ExpandImageToolTip |
Obtiene o establece la información sobre herramientas para la imagen que se muestra para el indicador de nodo expansible. |
ExpandImageUrl |
Obtiene o establece la dirección URL a una imagen personalizada para el indicador de nodo expansible. |
Font |
Obtiene las propiedades de fuente asociadas al control de servidor web. (Heredado de WebControl) |
ForeColor |
Obtiene o establece el color de primer plano (normalmente el color del texto) del control de servidor web. (Heredado de WebControl) |
HasAttributes |
Obtiene un valor que indica si el control tiene establecido algún atributo. (Heredado de WebControl) |
HasChildViewState |
Obtiene un valor que indica si los controles secundarios del control de servidor actual tienen guardada alguna configuración del estado de vista. (Heredado de Control) |
Height |
Obtiene o establece el alto del control de servidor Web. (Heredado de WebControl) |
HoverNodeStyle |
Obtiene una referencia al objeto TreeNodeStyle que permite establecer el aspecto de un nodo cuando el puntero del mouse se coloca sobre él. |
ID |
Obtiene o establece el identificador de programación asignado al control de servidor. (Heredado de Control) |
IdSeparator |
Obtiene el carácter utilizado para separar los identificadores de control. (Heredado de Control) |
ImageSet |
Obtiene o establece el grupo de imágenes a utilizar para el control TreeView. |
Initialized |
Obtiene un valor que indica si el control enlazado a datos está inicializado. (Heredado de BaseDataBoundControl) |
IsBoundUsingDataSourceID |
Obtiene un valor que indica si la propiedad DataSourceID está establecida. (Heredado de BaseDataBoundControl) |
IsChildControlStateCleared |
Obtiene un valor que indica si los controles que se encuentran en este control tienen estado de control. (Heredado de Control) |
IsDataBindingAutomatic |
Obtiene un valor que indica si el enlace de datos es automático. (Heredado de BaseDataBoundControl) |
IsEnabled |
Obtiene un valor que indica si está habilitado el control. (Heredado de WebControl) |
IsTrackingViewState |
Obtiene un valor que indica si el control de servidor está guardando los cambios realizados en su estado de vista. (Heredado de Control) |
IsUsingModelBinders |
Cuando se implementa en una clase derivada, obtiene un valor que indica si el control está usando enlazadores de modelos. (Heredado de BaseDataBoundControl) |
IsViewStateEnabled |
Obtiene un valor que indica si el estado de vista está habilitado para este control. (Heredado de Control) |
LeafNodeStyle |
Obtiene una referencia al objeto TreeNodeStyle que permite establecer el aspecto de los nodos de hoja. |
LevelStyles |
Obtiene una colección de objetos Style que representan estilos de nodo en los niveles individuales del árbol. |
LineImagesFolder |
Obtiene o establece la ruta de acceso a una carpeta que contiene las imágenes de la línea que se utilizan para conectar los nodos secundarios a los nodos primarios. |
LoadViewStateByID |
Obtiene un valor que indica si el control participa en la carga de su estado de vista mediante ID en lugar de índice. (Heredado de Control) |
MaxDataBindDepth |
Obtiene o establece el número máximo de niveles del árbol a enlazar al control TreeView. |
NamingContainer |
Obtiene una referencia al contenedor de nomenclatura del control de servidor, que crea un espacio de nombres único para diferenciar los distintos controles de servidor que tienen el mismo valor para la propiedad ID. (Heredado de Control) |
NodeIndent |
Obtiene o establece la cantidad de sangría (en píxeles) para los nodos secundarios del control TreeView. |
Nodes |
Obtiene una colección de objetos TreeNode que representa los nodos raíz del control TreeView. |
NodeStyle |
Obtiene una referencia al objeto TreeNodeStyle que permite establecer la apariencia predeterminada de los nodos del control TreeView. |
NodeWrap |
Obtiene o establece un valor que indica si el texto se ajusta en un nodo cuando el nodo se queda sin espacio. |
NoExpandImageUrl |
Obtiene o establece la dirección URL a una imagen personalizada para el indicador de nodo no expansible. |
Page |
Obtiene una referencia a la instancia Page que contiene el control de servidor. (Heredado de Control) |
Parent |
Obtiene una referencia al control principal del control de servidor en la jerarquía de controles de página. (Heredado de Control) |
ParentNodeStyle |
Obtiene una referencia al objeto TreeNodeStyle que permite establecer la apariencia de los nodos primarios del control TreeView. |
PathSeparator |
Obtiene o establece el carácter que se utiliza para delimitar los valores de nodo especificados por la propiedad ValuePath. |
PopulateNodesFromClient |
Obtiene o establece un valor que indica si los datos de nodo se rellenan a demanda del cliente. |
RenderingCompatibility |
Obtiene o establece un valor que especifica la versión de ASP.NET compatible con los elementos HTML representados. (Heredado de Control) |
RequiresDataBinding |
Obtiene o establece un valor que indica si se debe llamar al método DataBind(). (Heredado de BaseDataBoundControl) |
RootNodeStyle |
Obtiene una referencia al objeto TreeNodeStyle que permite establecer la apariencia del nodo raíz del control TreeView. |
SelectedNode |
Obtiene un objeto TreeNode que representa el nodo seleccionado del control TreeView. |
SelectedNodeStyle |
Obtiene el objeto TreeNodeStyle que controla el aspecto del nodo seleccionado en el control TreeView. |
SelectedValue |
Obtiene el valor del nodo seleccionado. |
ShowCheckBoxes |
Obtiene o establece un valor que indica qué tipos de nodo mostrarán una casilla en el control TreeView. |
ShowExpandCollapse |
Obtiene o establece un valor que indica si se muestran los indicadores de nodo de expansión. |
ShowLines |
Obtiene o establece un valor que indica se muestran si las líneas que conectan los nodos secundarios a los nodos primarios. |
Site |
Obtiene información sobre el contenedor en que se encuentra el control actual cuando se representa en una superficie de diseño. (Heredado de Control) |
SkinID |
Obtiene o establece la máscara que se aplica al control. (Heredado de WebControl) |
SkipLinkText |
Obtiene o establece un valor que se utiliza para representar texto alternativo para que los lectores de pantalla omitan el contenido del control. |
Style |
Obtiene una colección de atributos de texto que se representan como atributo de estilo en la etiqueta externa del control de servidor web. (Heredado de WebControl) |
SupportsDisabledAttribute |
Obtiene un valor que indica si el control debe establecer en "disabled" el atributo |
TabIndex |
Obtiene o establece el índice de tabulación del control de servidor web. (Heredado de WebControl) |
TagKey |
Obtiene el valor HtmlTextWriterTag del control TreeView. |
TagName |
Obtiene el nombre de la etiqueta del control. Esta propiedad la usan principalmente los programadores de controles. (Heredado de WebControl) |
Target |
Obtiene o establece la ventana o el marco de destino donde se mostrará el contenido de una página Web asociada a un nodo. |
TemplateControl |
Obtiene o establece una referencia a la plantilla que contiene este control. (Heredado de Control) |
TemplateSourceDirectory |
Obtiene el directorio virtual de Page o UserControl que contiene el control de servidor actual. (Heredado de Control) |
ToolTip |
Obtiene o establece el texto que se muestra cuando el puntero del mouse se desplaza sobre el control de servidor web. (Heredado de WebControl) |
UniqueID |
Obtiene el identificador único calificado jerárquicamente para el control de servidor. (Heredado de Control) |
ValidateRequestMode |
Obtiene o establece un valor que indica si el control comprueba la entrada del cliente desde el explorador para valores potencialmente peligrosos. (Heredado de Control) |
ViewState |
Obtiene un diccionario con información de estado que le permite guardar y restaurar el estado de vista de un control de servidor en las distintas solicitudes de la misma página. (Heredado de Control) |
ViewStateIgnoresCase |
Obtiene un valor que indica si el objeto StateBag no distingue mayúsculas de minúsculas. (Heredado de Control) |
ViewStateMode |
Obtiene o establece el modo del estado de vista de este control. (Heredado de Control) |
Visible |
Obtiene o establece un valor que indica si el control se debe representar como interfaz de usuario en la página. |
Width |
Obtiene o establece el ancho del control de servidor web. (Heredado de WebControl) |
Métodos
AddAttributesToRender(HtmlTextWriter) |
Agrega atributos y estilos HTML que se deben representar en el control HtmlTextWriter especificado. |
AddedControl(Control, Int32) |
Se llama después de agregar un control secundario a la colección Controls del objeto Control. (Heredado de Control) |
AddParsedSubObject(Object) |
Notifica al control de servidor que se analizó un elemento, ya sea XML o HTML, y agrega el elemento al objeto ControlCollection del control del servidor. (Heredado de Control) |
ApplyStyle(Style) |
Copia en el control Web todos los elementos no vacíos del estilo especificado, sobrescribiendo los elementos de estilo existentes del mismo. Este método lo usan principalmente los programadores de controles. (Heredado de WebControl) |
ApplyStyleSheetSkin(Page) |
Aplica al control las propiedades de estilo definidas en la hoja de estilos de la página. (Heredado de Control) |
BeginRenderTracing(TextWriter, Object) |
Comienza el seguimiento en tiempo de diseño de los datos de representación. (Heredado de Control) |
BuildProfileTree(String, Boolean) |
Recopila información sobre el control de servidor y la pasa a la propiedad Trace para que se muestre cuando está habilitada la traza de la página. (Heredado de Control) |
ClearCachedClientID() |
Establece en |
ClearChildControlState() |
Elimina la información sobre el estado de control de los controles secundarios del control de servidor. (Heredado de Control) |
ClearChildState() |
Elimina la información sobre el estado de vista y el estado de control de los controles secundarios del control de servidor. (Heredado de Control) |
ClearChildViewState() |
Elimina la información sobre el estado de vista de todos los controles secundarios del control de servidor. (Heredado de Control) |
ClearEffectiveClientIDMode() |
Establece la propiedad ClientIDMode de la instancia del control actual y de cualquier control secundario en Inherit. (Heredado de Control) |
CollapseAll() |
Cierra cada nodo en el árbol. |
ConfirmInitState() |
Establece el estado inicializado del control enlazado a datos. (Heredado de BaseDataBoundControl) |
CopyBaseAttributes(WebControl) |
Copia las propiedades no encapsuladas por el objeto Style del control de servidor web especificado al control de servidor web desde el que se efectúa la llamada al método. Este método lo usan principalmente los desarrolladores de controles. (Heredado de WebControl) |
CreateChildControls() |
Lo llama el marco de páginas ASP.NET para indicar a los controles de servidor que usan la implementación basada en composición que creen los controles secundarios que contengan como forma de preparar la devolución o representación de los datos. (Heredado de Control) |
CreateControlCollection() |
Crea una colección para almacenar controles secundarios. |
CreateControlStyle() |
Crea el objeto de estilo que utiliza la clase WebControl de forma interna para implementar todas las propiedades relacionadas con el estilo. Este método lo usan principalmente los desarrolladores de controles. (Heredado de WebControl) |
CreateNode() |
Devuelve una nueva instancia de la clase TreeNode. El método CreateNode() es un método del asistente. |
DataBind() |
Llama al método DataBind() de la clase base. |
DataBind(Boolean) |
Enlaza un origen de datos al control de servidor que se ha invocado y a todos sus controles secundarios con una opción para generar el evento DataBinding. (Heredado de Control) |
DataBindChildren() |
Enlaza un origen de datos a los controles secundarios del control de servidor. (Heredado de Control) |
Dispose() |
Habilita un control de servidor para que realice la limpieza final antes de que se libere de la memoria. (Heredado de Control) |
EndRenderTracing(TextWriter, Object) |
Finaliza el seguimiento en tiempo de diseño de los datos de representación. (Heredado de Control) |
EnsureChildControls() |
Determina si el control de servidor contiene controles secundarios. Si no tiene controles secundarios, los crea. (Heredado de Control) |
EnsureDataBound() |
Llama al método DataBind() si se establece la propiedad DataSourceID y el control enlazado a datos está marcado de forma que requiera el enlace. (Heredado de BaseDataBoundControl) |
EnsureID() |
Crea un identificador para controles que no tiene un identificador asignado. (Heredado de Control) |
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
ExpandAll() |
Abre cada nodo del árbol. |
FindControl(String) |
Busca un control de servidor con el parámetro |
FindControl(String, Int32) |
Busca el contenedor de nomenclatura actual para un control de servidor con el |
FindNode(String) |
Recupera el objeto TreeNode del control TreeView en la ruta de acceso del valor especificado. |
Focus() |
Establece el foco de entrada en un control. (Heredado de Control) |
GetCallbackResult() |
Devuelve el resultado de un evento de devolución de llamada que tiene como destino un control. |
GetData(String) |
Recupera un objeto HierarchicalDataSourceView que el control enlazado a datos usa para llevar a cabo operaciones de datos. (Heredado de HierarchicalDataBoundControl) |
GetDataSource() |
Recupera la interfaz IHierarchicalDataSource a la que está asociado el control enlazado a datos, si existe. (Heredado de HierarchicalDataBoundControl) |
GetDesignModeState() |
Obtiene datos en tiempo de diseño para un control. (Heredado de Control) |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetRouteUrl(Object) |
Obtiene la dirección URL que corresponde a un conjunto de parámetros de ruta. (Heredado de Control) |
GetRouteUrl(RouteValueDictionary) |
Obtiene la dirección URL que corresponde a un conjunto de parámetros de ruta. (Heredado de Control) |
GetRouteUrl(String, Object) |
Obtiene la dirección URL que corresponde a un conjunto de parámetros de ruta y un nombre de ruta. (Heredado de Control) |
GetRouteUrl(String, RouteValueDictionary) |
Obtiene la dirección URL que corresponde a un conjunto de parámetros de ruta y un nombre de ruta. (Heredado de Control) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
GetUniqueIDRelativeTo(Control) |
Devuelve la parte correspondiente al prefijo de la propiedad UniqueID del control especificado. (Heredado de Control) |
HasControls() |
Determina si el control de servidor contiene controles secundarios. (Heredado de Control) |
HasEvents() |
Devuelve un valor que indica si se registran eventos para el control o los controles secundarios. (Heredado de Control) |
IsLiteralContent() |
Determina si el control de servidor alberga únicamente contenido literal. (Heredado de Control) |
LoadControlState(Object) |
Restaura información de estado de control de una solicitud de página anterior guardada por el método SaveControlState(). (Heredado de Control) |
LoadPostData(String, NameValueCollection) |
Procesa los datos de postback del control TreeView. |
LoadViewState(Object) |
Carga el estado de vista guardado previamente del control TreeView. |
MapPathSecure(String) |
Recupera la ruta de acceso física a la que se asigna una ruta de acceso virtual, absoluta o relativa. (Heredado de Control) |
MarkAsDataBound() |
Establece el estado del control en estado de vista como enlazado correctamente a los datos. (Heredado de HierarchicalDataBoundControl) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
MergeStyle(Style) |
Copia en el control Web todos los elementos no vacíos del estilo especificado, pero no sobrescribe los elementos de estilo existentes en el mismo. Este método lo usan principalmente los desarrolladores de controles. (Heredado de WebControl) |
OnBubbleEvent(Object, EventArgs) |
Determina si el evento del control de servidor se pasa a la jerarquía de control de servidor de la interfaz de usuario (UI) de la página. (Heredado de Control) |
OnDataBinding(EventArgs) |
Genera el evento DataBinding. (Heredado de Control) |
OnDataBound(EventArgs) |
Genera el evento DataBound. (Heredado de BaseDataBoundControl) |
OnDataPropertyChanged() |
Se le llama cuando cambia una de las propiedades de identificación del origen de datos base, para volver a enlazar el control enlazado a datos con sus datos. (Heredado de HierarchicalDataBoundControl) |
OnDataSourceChanged(Object, EventArgs) |
Se le llama cuando la instancia de IHierarchicalDataSource con la que funciona el control enlazado a datos provoca el evento DataSourceChanged. (Heredado de HierarchicalDataBoundControl) |
OnInit(EventArgs) |
Genera el evento Init. |
OnLoad(EventArgs) |
Controla el evento Load. (Heredado de HierarchicalDataBoundControl) |
OnPagePreLoad(Object, EventArgs) |
Establece el estado inicializado del control enlazado a datos antes de cargar el control. (Heredado de HierarchicalDataBoundControl) |
OnPreRender(EventArgs) |
Genera el evento PreRender. |
OnSelectedNodeChanged(EventArgs) |
Provoca el evento SelectedNodeChanged del control TreeView. |
OnTreeNodeCheckChanged(TreeNodeEventArgs) |
Provoca el evento TreeNodeCheckChanged del control TreeView. |
OnTreeNodeCollapsed(TreeNodeEventArgs) |
Provoca el evento TreeNodeCollapsed del control TreeView. |
OnTreeNodeDataBound(TreeNodeEventArgs) |
Provoca el evento TreeNodeDataBound del control TreeView. |
OnTreeNodeExpanded(TreeNodeEventArgs) |
Provoca el evento TreeNodeExpanded del control TreeView. |
OnTreeNodePopulate(TreeNodeEventArgs) |
Provoca el evento TreeNodePopulate del control TreeView. |
OnUnload(EventArgs) |
Genera el evento Unload. (Heredado de Control) |
OpenFile(String) |
Obtiene un objeto Stream utilizado para leer un archivo. (Heredado de Control) |
PerformDataBinding() |
Crea todos los nodos basándose en el origen de datos. |
PerformSelect() |
Recupera los datos del origen de datos asociado. (Heredado de HierarchicalDataBoundControl) |
RaiseBubbleEvent(Object, EventArgs) |
Asigna los orígenes del evento y su información al control principal del control. (Heredado de Control) |
RaiseCallbackEvent(String) |
Genera el evento de devolución de llamada con los argumentos especificados. |
RaisePostBackEvent(String) |
Permite que el control TreeView procese un evento provocado al devolver un formulario al servidor. El método RaisePostBackEvent(String) es un método del asistente para el método ICallbackEventHandler.RaiseCallbackEvent(String). |
RaisePostDataChangedEvent() |
Indica al control TreeView que debe notificar a la aplicación ASP.NET que el estado del control ha cambiado. |
RemovedControl(Control) |
Se llama después de quitar un control secundario de la colección Controls del objeto Control. (Heredado de Control) |
Render(HtmlTextWriter) |
Representa el control en el sistema de escritura HTML especificado. (Heredado de WebControl) |
RenderBeginTag(HtmlTextWriter) |
Representa la etiqueta HTML de apertura del control en el sistema de escritura especificado. |
RenderChildren(HtmlTextWriter) |
Envía el contenido de los elementos secundarios de un control de servidor a un objeto HtmlTextWriter especificado, que escribe el contenido que se va a representar en el cliente. (Heredado de Control) |
RenderContents(HtmlTextWriter) |
Representa los nodos del control TreeView. |
RenderControl(HtmlTextWriter) |
Envía el contenido de control del servidor a un objeto HtmlTextWriter proporcionado y almacena información de seguimiento sobre el control si está habilitado el seguimiento. (Heredado de Control) |
RenderControl(HtmlTextWriter, ControlAdapter) |
Coloca el contenido de un control de servidor en un objeto HtmlTextWriter proporcionado, utilizando un objeto ControlAdapter proporcionado. (Heredado de Control) |
RenderEndTag(HtmlTextWriter) |
Representa la etiqueta HTML de cierre del control en el sistema de escritura especificado. |
ResolveAdapter() |
Obtiene el adaptador de controles que se encarga de representar el control especificado. (Heredado de Control) |
ResolveClientUrl(String) |
Obtiene una dirección URL que el explorador puede utilizar. (Heredado de Control) |
ResolveUrl(String) |
Convierte una dirección URL en una que el cliente solicitante pueda utilizar. (Heredado de Control) |
SaveControlState() |
Guarda los cambios de estado del control de servidor que se produjeron desde la hora en que la página volvió a publicarse en el servidor. (Heredado de Control) |
SaveViewState() |
Guarda el estado del control TreeView. |
SetDesignModeState(IDictionary) |
Establece los datos en tiempo de diseño para un control. (Heredado de Control) |
SetNodeDataBound(TreeNode, Boolean) |
Permite a una clase derivada establecer si el control TreeNode especificado está enlazado a datos. |
SetNodeDataItem(TreeNode, Object) |
Permite que una clase derivada establezca el elemento de datos para el control TreeNode especificado. |
SetNodeDataPath(TreeNode, String) |
Permite que una clase derivada establezca la ruta de datos para el control TreeNode especificado. |
SetRenderMethodDelegate(RenderMethod) |
Asigna un delegado de controlador de eventos para representar el control de servidor y su contenido en el control principal. (Heredado de Control) |
SetTraceData(Object, Object) |
Establece datos de seguimiento para el seguimiento en tiempo de diseño de los datos de representación, para lo que usa la clave y el valor de los datos de seguimiento. (Heredado de Control) |
SetTraceData(Object, Object, Object) |
Establece datos de seguimiento para el seguimiento en tiempo de diseño de los datos de representación, para lo que usa el objeto del que se ha realizado seguimiento, así como la clave y el valor de los datos de seguimiento. (Heredado de Control) |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
TrackViewState() |
Efectúa el seguimiento de los cambios en el estado de vista del control TreeView para poder almacenarlos en el objeto StateBag del control. Se obtiene acceso al objeto StateBag a través de la propiedad ViewState. |
ValidateDataSource(Object) |
Comprueba que el objeto al que se enlaza un control enlazado a datos es compatible. (Heredado de HierarchicalDataBoundControl) |
Eventos
DataBinding |
Se produce cuando el control de servidor se enlaza a un origen de datos. (Heredado de Control) |
DataBound |
Se produce después de que el control de servidor se enlaza a un origen de datos. (Heredado de BaseDataBoundControl) |
Disposed |
Se produce cuando un control de servidor se libera de la memoria, lo que constituye la última fase del período de duración de un control de servidor cuando se solicita una página ASP.NET. (Heredado de Control) |
Init |
Tiene lugar al inicializar el control de servidor, que es el primer paso en su ciclo de vida. (Heredado de Control) |
Load |
Se produce cuando el control de servidor se carga en el objeto Page. (Heredado de Control) |
PreRender |
Se produce una vez que se carga el objeto Control, pero antes de su representación. (Heredado de Control) |
SelectedNodeChanged |
Se desencadena cuando se selecciona un nodo en el control TreeView. |
TreeNodeCheckChanged |
Se produce cuando una casilla del control TreeView cambia de estado entre cada envío al servidor. |
TreeNodeCollapsed |
Se desencadena cuando se contrae un nodo en el control TreeView. |
TreeNodeDataBound |
Se desencadena cuando un elemento de datos se enlaza a un nodo en el control TreeView. |
TreeNodeExpanded |
Se desencadena cuando se expande un nodo en el control TreeView. |
TreeNodePopulate |
Aparece cuando un nodo con su propiedad PopulateOnDemand establecida en |
Unload |
Se produce cuando el control de servidor se descarga de la memoria. (Heredado de Control) |
Implementaciones de interfaz explícitas
IAttributeAccessor.GetAttribute(String) |
Obtiene un atributo del control Web con el nombre especificado. (Heredado de WebControl) |
IAttributeAccessor.SetAttribute(String, String) |
Establece un atributo del control Web con el nombre y el valor especificados. (Heredado de WebControl) |
ICallbackEventHandler.GetCallbackResult() |
Devuelve el resultado de un evento de devolución de llamada que tiene como destino un control. |
ICallbackEventHandler.RaiseCallbackEvent(String) |
Genera el evento de devolución de llamada con los argumentos especificados. |
IControlBuilderAccessor.ControlBuilder |
Para obtener una descripción de este miembro, vea ControlBuilder. (Heredado de Control) |
IControlDesignerAccessor.GetDesignModeState() |
Para obtener una descripción de este miembro, vea GetDesignModeState(). (Heredado de Control) |
IControlDesignerAccessor.SetDesignModeState(IDictionary) |
Para obtener una descripción de este miembro, vea SetDesignModeState(IDictionary). (Heredado de Control) |
IControlDesignerAccessor.SetOwnerControl(Control) |
Para obtener una descripción de este miembro, vea SetOwnerControl(Control). (Heredado de Control) |
IControlDesignerAccessor.UserData |
Para obtener una descripción de este miembro, vea UserData. (Heredado de Control) |
IDataBindingsAccessor.DataBindings |
Para obtener una descripción de este miembro, vea DataBindings. (Heredado de Control) |
IDataBindingsAccessor.HasDataBindings |
Para obtener una descripción de este miembro, vea HasDataBindings. (Heredado de Control) |
IExpressionsAccessor.Expressions |
Para obtener una descripción de este miembro, vea Expressions. (Heredado de Control) |
IExpressionsAccessor.HasExpressions |
Para obtener una descripción de este miembro, vea HasExpressions. (Heredado de Control) |
IParserAccessor.AddParsedSubObject(Object) |
Para obtener una descripción de este miembro, vea AddParsedSubObject(Object). (Heredado de Control) |
IPostBackDataHandler.LoadPostData(String, NameValueCollection) |
Procesa los datos de postback del control TreeView. |
IPostBackDataHandler.RaisePostDataChangedEvent() |
Indica al control TreeView que debe notificar a la aplicación ASP.NET que el estado del control ha cambiado. |
IPostBackEventHandler.RaisePostBackEvent(String) |
Permite que el control TreeView procese un evento provocado al devolver un formulario al servidor. |
Métodos de extensión
EnablePersistedSelection(BaseDataBoundControl) |
Obsoletos.
Habilita la selección para que persista en controles de datos que admiten selección y paginación. |
FindDataSourceControl(Control) |
Devuelve el origen de datos que está asociado al control de datos del control especificado. |
FindFieldTemplate(Control, String) |
Devuelve la plantilla de campo para la columna especificada en el contenedor de nomenclatura del control especificado. |
FindMetaTable(Control) |
Devuelve el objeto de metatabla para el control de datos contenedor. |
Se aplica a
Consulte también
- DataSourceID
- DataBindings
- EnableClientScript
- IHierarchicalDataSource
- Nodes
- ShowCheckBoxes
- TreeNode
- TreeNodeBinding
- TreeNodeStyle
- TreeNodeCollection
- SiteMapDataSource
- TreeNodeCheckChanged
- SelectedNodeChanged
- TreeNodeExpanded
- TreeNodeCollapsed
- TreeNodePopulate
- TreeNodeDataBound
- mapas de sitio de ASP.NET