Compartir por


TreeView Clase

Definición

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.

  • El cuarto ejemplo de código proporciona 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 mediante el enlace 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 control desde el TreeView 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 dentro del 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 mediante el enlace a un SiteMapDataSource control . Para que este ejemplo funcione correctamente, debe copiar los datos de 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 control desde el TreeView 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 Información general sobre el control UpdatePanel y Partial-Page Información general sobre la representación.

Nodes

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 un elemento primario y un elemento secundario, pero los nodos raíz, primario y hoja son mutuamente excluyentes. Varias propiedades visuales y de comportamiento de los nodos están determinadas por 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 solo 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 sintaxis declarativa, anida primero las etiquetas de apertura y cierre entre las etiquetas de apertura y cierre <Nodes> 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 TreeView control en el origen de 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 en caso 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 de enlace y la propiedad de 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 muestra. Por lo tanto, el origen de datos debe implementar la seguridad de los datos. No use 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 se obtiene en tiempo de ejecución. Debido a esto, el control admite el TreeView rellenado dinámico de nodos. Cuando la PopulateOnDemand propiedad de un nodo se establece trueen , 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 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 Configuración de estilo para los nodos hoja.
NodeStyle Configuración de estilo predeterminada para un nodo.
ParentNodeStyle Configuración de estilo para los nodos primarios.
RootNodeStyle Configuración de estilo para el nodo raíz.
SelectedNodeStyle 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 la tabla de menús de navegación de estilo de contenido en los que 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 mostrada para el indicador de nodo contraíble. Esta imagen suele ser un signo menos (-).
ExpandImageUrl Dirección URL de una imagen mostrada 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 mostrada 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.Nonede , las casillas se muestran 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 siempre que el estado de una casilla cambie entre publicaciones en el servidor.

Eventos

El TreeView control proporciona varios eventos en 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 .

Event Descripción
TreeNodeCheckChanged Se produce cuando las casillas del estado de cambio de TreeView control entre publicaciones en el servidor.
SelectedNodeChanged Se produce cuando se selecciona un nodo en el TreeView control .
TreeNodeExpanded Se produce cuando se expande un nodo en el TreeView control .
TreeNodeCollapsed Se produce cuando se contrae un nodo en el TreeView control .
TreeNodePopulate Se produce cuando un nodo con su PopulateOnDemand propiedad establecida true en se expande en el TreeView control .
TreeNodeDataBound Se produce cuando un elemento de datos está enlazado a un nodo del TreeView control .

Desplazamiento

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 para 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

Nombre Description
TreeView()

Inicializa una nueva instancia de la clase TreeView.

Propiedades

Nombre Description
AccessKey

Obtiene o establece la clave de acceso que le 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 Page aplicación del objeto o UserControl que contiene este control.

(Heredado de Control)
Attributes

Obtiene la colección de atributos arbitrarios (solo para la representación) que no corresponden a las propiedades del control.

(Heredado de WebControl)
AutoGenerateDataBindings

Obtiene o establece un valor que indica si el TreeView control genera automáticamente enlaces de 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 de borde del control de servidor web.

(Heredado de WebControl)
BorderWidth

Obtiene o establece el ancho de borde del control de servidor web.

(Heredado de WebControl)
CheckedNodes

Obtiene una colección de TreeNode objetos que representan los nodos del TreeView control que muestran una casilla seleccionada.

ChildControlsCreated

Obtiene un valor que indica si se han creado los controles secundarios del control de servidor.

(Heredado de Control)
ClientID

Obtiene el identificador de control para el marcado HTML generado por ASP.NET.

(Heredado de Control)
ClientIDMode

Obtiene o establece el algoritmo que se usa para generar el valor de la ClientID propiedad .

(Heredado de Control)
ClientIDSeparator

Obtiene un valor de carácter que representa el carácter separador utilizado en la ClientID propiedad .

(Heredado de Control)
CollapseImageToolTip

Obtiene o establece la información sobre herramientas de la imagen que se muestra para el indicador de nodo contraíble.

CollapseImageUrl

Obtiene o establece la dirección URL en una imagen personalizada para el indicador de nodo contraíble.

Context

Obtiene el HttpContext objeto asociado al control de servidor para la solicitud web actual.

(Heredado de Control)
Controls

Obtiene un ControlCollection objeto 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 se usa principalmente por los desarrolladores de control.

(Heredado de WebControl)
ControlStyleCreated

Obtiene un valor que indica si se ha creado un Style objeto para la ControlStyle propiedad . Esta propiedad la usan principalmente los desarrolladores de controles.

(Heredado de WebControl)
CssClass

Obtiene o establece la clase Hoja de estilos en cascada (CSS) representada por el control de servidor web en el cliente.

(Heredado de WebControl)
DataBindings

Obtiene una colección de TreeNodeBinding objetos que definen la relación entre un elemento de datos y el nodo al que está enlazando.

DataItemContainer

Obtiene una referencia al contenedor de nomenclatura si el contenedor de nomenclatura implementa IDataItemContainer.

(Heredado de Control)
DataKeysContainer

Obtiene una referencia al contenedor de nomenclatura si el contenedor de nomenclatura 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 usa un control en una superficie de diseño.

(Heredado de Control)
EnableClientScript

Obtiene o establece un valor que indica si el control representa el TreeView script del lado 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 y el estado de vista de los controles secundarios que contiene, al cliente solicitante.

(Heredado de Control)
Events

Obtiene una lista de delegados del controlador de eventos para el control . Esta propiedad es de solo lectura.

(Heredado de Control)
ExpandDepth

Obtiene o establece el número de niveles que se expanden cuando se muestra un TreeView control por primera vez.

ExpandImageToolTip

Obtiene o establece la información sobre herramientas de la imagen que se muestra para el indicador de nodo expandible.

ExpandImageUrl

Obtiene o establece la dirección URL en una imagen personalizada para el indicador de nodo expandible.

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 los atributos establecidos.

(Heredado de WebControl)
HasChildViewState

Obtiene un valor que indica si los controles secundarios del control de servidor actual tienen cualquier configuración de estado de vista guardada.

(Heredado de Control)
Height

Obtiene o establece el alto del control de servidor web.

(Heredado de WebControl)
HoverNodeStyle

Obtiene una referencia al TreeNodeStyle objeto que permite establecer la apariencia 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 usado para separar los identificadores de control.

(Heredado de Control)
ImageSet

Obtiene o establece el grupo de imágenes que se va a usar para el TreeView control .

Initialized

Obtiene un valor que indica si se ha inicializado el control enlazado a datos.

(Heredado de BaseDataBoundControl)
IsBoundUsingDataSourceID

Obtiene un valor que indica si la DataSourceID propiedad está establecida.

(Heredado de BaseDataBoundControl)
IsChildControlStateCleared

Obtiene un valor que indica si los controles contenidos 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 el control está habilitado.

(Heredado de WebControl)
IsTrackingViewState

Obtiene un valor que indica si el control de servidor guarda los cambios en su estado de vista.

(Heredado de Control)
IsUsingModelBinders

Cuando se implementa en una clase derivada, obtiene un valor que indica si el control usa 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 TreeNodeStyle objeto que permite establecer la apariencia de los nodos hoja.

LevelStyles

Obtiene una colección de Style objetos que representan los 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 línea que se usan para conectar nodos secundarios a nodos primarios.

LoadViewStateByID

Obtiene un valor que indica si el control participa en la carga de su estado de vista en ID lugar del índice.

(Heredado de Control)
MaxDataBindDepth

Obtiene o establece el número máximo de niveles de árbol que se van a enlazar al TreeView control.

NamingContainer

Obtiene una referencia al contenedor de nomenclatura del control de servidor, que crea un espacio de nombres único para diferenciar entre los controles de servidor con el mismo ID valor de propiedad.

(Heredado de Control)
NodeIndent

Obtiene o establece la cantidad de sangría (en píxeles) de los nodos secundarios del TreeView control.

Nodes

Obtiene una colección de TreeNode objetos que representa los nodos raíz del TreeView control .

NodeStyle

Obtiene una referencia al TreeNodeStyle objeto que permite establecer la apariencia predeterminada de los nodos en el TreeView control .

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 en una imagen personalizada para el indicador de nodo no expandible.

Page

Obtiene una referencia a la Page instancia que contiene el control de servidor.

(Heredado de Control)
Parent

Obtiene una referencia al control primario del control de servidor en la jerarquía de controles de página.

(Heredado de Control)
ParentNodeStyle

Obtiene una referencia al TreeNodeStyle objeto que permite establecer la apariencia de los nodos primarios en el TreeView control .

PathSeparator

Obtiene o establece el carácter que se usa para delimitar los valores de nodo especificados por la ValuePath propiedad .

PopulateNodesFromClient

Obtiene o establece un valor que indica si los datos del nodo se rellenan a petición del cliente.

RenderingCompatibility

Obtiene un valor que especifica la versión de ASP.NET con la que se representará HTML.

(Heredado de Control)
RequiresDataBinding

Obtiene o establece un valor que indica si se debe llamar al DataBind() método .

(Heredado de BaseDataBoundControl)
RootNodeStyle

Obtiene una referencia al TreeNodeStyle objeto que permite establecer la apariencia del nodo raíz en el TreeView control.

SelectedNode

Obtiene un TreeNode objeto que representa el nodo seleccionado en el TreeView control .

SelectedNodeStyle

Obtiene el TreeNodeStyle objeto que controla la apariencia del nodo seleccionado en el TreeView control .

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 TreeView control .

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 si se muestran las líneas que conectan los nodos secundarios a los nodos primarios.

Site

Obtiene información sobre el contenedor que hospeda el control actual cuando se representa en una superficie de diseño.

(Heredado de Control)
SkinID

Obtiene o establece la máscara que se va a aplicar al control.

(Heredado de WebControl)
SkipLinkText

Obtiene o establece un valor que se usa 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 representarán como un 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 el disabled atributo del elemento HTML representado en "disabled" cuando la propiedad del IsEnabled control es false.

(Heredado de BaseDataBoundControl)
TabIndex

Obtiene o establece el índice de tabulación del control de servidor web.

(Heredado de WebControl)
TagKey

Obtiene el HtmlTextWriterTag valor del TreeView control .

TagName

Obtiene el nombre de la etiqueta de control. Esta propiedad se usa principalmente por los desarrolladores de control.

(Heredado de WebControl)
Target

Obtiene o establece la ventana o marco de destino en el que se va a mostrar el contenido de la página web asociado 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 mantiene el puntero 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 detectar valores potencialmente peligrosos.

(Heredado de Control)
ViewState

Obtiene un diccionario de información de estado que permite guardar y restaurar el estado de vista de un control de servidor en varias solicitudes para la misma página.

(Heredado de Control)
ViewStateIgnoresCase

Obtiene un valor que indica si el StateBag objeto no distingue mayúsculas de minúsculas.

(Heredado de Control)
ViewStateMode

Obtiene o establece el modo de estado de vista de este control.

(Heredado de Control)
Visible

Obtiene o establece un valor que indica si el control se representa como interfaz de usuario en la página.

Width

Obtiene o establece el ancho del control de servidor web.

(Heredado de WebControl)

Métodos

Nombre Description
AddAttributesToRender(HtmlTextWriter)

Agrega atributos y estilos HTML que deben representarse en el control especificado HtmlTextWriter .

AddedControl(Control, Int32)

Se llama después de agregar un control secundario a la Controls colección del Control objeto .

(Heredado de Control)
AddParsedSubObject(Object)

Notifica al control de servidor que se ha analizado un elemento, ya sea XML o HTML, y agrega el elemento al objeto del control de ControlCollection servidor.

(Heredado de Control)
ApplyStyle(Style)

Copia todos los elementos que no sean de marca del estilo especificado en el control Web, sobrescribir los elementos de estilo existentes del control. Este método lo usan principalmente los desarrolladores de controles.

(Heredado de WebControl)
ApplyStyleSheetSkin(Page)

Aplica las propiedades de estilo definidas en la hoja de estilos de página al control .

(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 entrega a la Trace propiedad que se va a mostrar cuando el seguimiento está habilitado para la página.

(Heredado de Control)
ClearCachedClientID()

Establece el valor nullalmacenado en caché en ClientID .

(Heredado de Control)
ClearChildControlState()

Elimina la información de estado de control de los controles secundarios del control de servidor.

(Heredado de Control)
ClearChildState()

Elimina la información de estado de vista y estado de control de todos los controles secundarios del control de servidor.

(Heredado de Control)
ClearChildViewState()

Elimina la información de estado de vista de todos los controles secundarios del control de servidor.

(Heredado de Control)
ClearEffectiveClientIDMode()

Establece la ClientIDMode propiedad de la instancia de control actual y de cualquier control secundario en Inherit.

(Heredado de Control)
CollapseAll()

Cierra todos los nodos del árbol.

ConfirmInitState()

Establece el estado inicializado del control enlazado a datos.

(Heredado de BaseDataBoundControl)
CopyBaseAttributes(WebControl)

Copia las propiedades no encapsuladas por el Style objeto desde el control de servidor web especificado al control de servidor web desde el que se llama a este método. Este método se usa principalmente por los desarrolladores de controles.

(Heredado de WebControl)
CreateChildControls()

Llamado por el marco de ASP.NET página para notificar a los controles de servidor que usan la implementación basada en composición para crear los controles secundarios que contengan como preparación para la publicación o representación.

(Heredado de Control)
CreateControlCollection()

Crea una colección para almacenar controles secundarios.

CreateControlStyle()

Crea el objeto de estilo que usa internamente la WebControl clase para implementar todas las propiedades relacionadas con el estilo. Este método se usa principalmente por los desarrolladores de controles.

(Heredado de WebControl)
CreateNode()

Devuelve una nueva instancia de la TreeNode clase . CreateNode() es un método auxiliar.

DataBind()

Llama al DataBind() método de la clase base.

DataBind(Boolean)

Enlaza un origen de datos al control de servidor invocado y a todos sus controles secundarios con una opción para generar el DataBinding evento.

(Heredado de Control)
DataBindChildren()

Enlaza un origen de datos a los controles secundarios del control de servidor.

(Heredado de Control)
Dispose()

Permite que un control de servidor realice la limpieza final antes de liberarse 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 es así, crea controles secundarios.

(Heredado de Control)
EnsureDataBound()

Llama al DataBind() método si se establece la DataSourceID propiedad y el control enlazado a datos está marcado para requerir el enlace.

(Heredado de BaseDataBoundControl)
EnsureID()

Crea un identificador para los controles que no tienen asignado un identificador.

(Heredado de Control)
Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
ExpandAll()

Abre todos los nodos del árbol.

FindControl(String, Int32)

Busca en el contenedor de nomenclatura actual un control de servidor con el especificado id y un entero, especificado en el pathOffset parámetro , que ayuda en la búsqueda. No debe invalidar esta versión del FindControl método.

(Heredado de Control)
FindControl(String)

Busca en el contenedor de nomenclatura actual un control de servidor con el parámetro especificado id .

(Heredado de Control)
FindNode(String)

Recupera el TreeNode objeto del TreeView control en la ruta de acceso de valor especificada.

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 HierarchicalDataSourceView objeto que el control enlazado a datos usa para realizar operaciones de datos.

(Heredado de HierarchicalDataBoundControl)
GetDataSource()

Recupera el objeto IHierarchicalDataSource al que está asociado el control enlazado a datos, si existe.

(Heredado de HierarchicalDataBoundControl)
GetDesignModeState()

Obtiene los datos en tiempo de diseño de un control.

(Heredado de Control)
GetHashCode()

Actúa como 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 prefijo de la UniqueID propiedad 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 los eventos están registrados para el control o para los controles secundarios.

(Heredado de Control)
IsLiteralContent()

Determina si el control de servidor contiene solo contenido literal.

(Heredado de Control)
LoadControlState(Object)

Restaura la información de estado de control de una solicitud de página anterior guardada por el SaveControlState() método .

(Heredado de Control)
LoadPostData(String, NameValueCollection)

Procesa los datos de postback para el TreeView control.

LoadViewState(Object)

Carga el estado de vista guardado anteriormente del TreeView control.

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 Objectactual.

(Heredado de Object)
MergeStyle(Style)

Copia todos los elementos que no sean de marca del estilo especificado en el control Web, pero no sobrescribirán ningún elemento de estilo existente del control. Este método se usa principalmente por 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 controles de servidor de interfaz de usuario 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 llama cuando se cambia una de las propiedades de identificación del origen de datos base para volver a enlazar el control enlazado a datos a sus datos.

(Heredado de HierarchicalDataBoundControl)
OnDataSourceChanged(Object, EventArgs)

Se llama cuando la IHierarchicalDataSource instancia con la que funciona el control enlazado a datos genera el DataSourceChanged evento.

(Heredado de HierarchicalDataBoundControl)
OnInit(EventArgs)

Genera el evento Init.

OnLoad(EventArgs)

Controla el Load evento.

(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)

Genera el SelectedNodeChanged evento del TreeView control .

OnTreeNodeCheckChanged(TreeNodeEventArgs)

Genera el TreeNodeCheckChanged evento del TreeView control .

OnTreeNodeCollapsed(TreeNodeEventArgs)

Genera el TreeNodeCollapsed evento del TreeView control .

OnTreeNodeDataBound(TreeNodeEventArgs)

Genera el TreeNodeDataBound evento del TreeView control .

OnTreeNodeExpanded(TreeNodeEventArgs)

Genera el TreeNodeExpanded evento del TreeView control .

OnTreeNodePopulate(TreeNodeEventArgs)

Genera el TreeNodePopulate evento del TreeView control .

OnUnload(EventArgs)

Genera el evento Unload.

(Heredado de Control)
OpenFile(String)

Obtiene un objeto Stream que se usa para leer un archivo.

(Heredado de Control)
PerformDataBinding()

Crea todos los nodos en función del origen de datos.

PerformSelect()

Recupera datos del origen de datos asociado.

(Heredado de HierarchicalDataBoundControl)
RaiseBubbleEvent(Object, EventArgs)

Asigna cualquier origen del evento y su información al elemento primario del control.

(Heredado de Control)
RaiseCallbackEvent(String)

Genera el evento de devolución de llamada mediante los argumentos especificados.

RaisePostBackEvent(String)

TreeView Permite al control procesar un evento que se genera cuando se publica un formulario en el servidor. El RaisePostBackEvent(String) método es un método auxiliar para el ICallbackEventHandler.RaiseCallbackEvent(String) método .

RaisePostDataChangedEvent()

Indica al TreeView control que notifica al ASP.NET aplicación que el estado del control ha cambiado.

RemovedControl(Control)

Se llama después de quitar un control secundario de la Controls colección del Control objeto .

(Heredado de Control)
Render(HtmlTextWriter)

Representa el control en el escritor HTML especificado.

(Heredado de WebControl)
RenderBeginTag(HtmlTextWriter)

Representa la etiqueta de apertura HTML del control en el escritor especificado.

RenderChildren(HtmlTextWriter)

Genera el contenido de los elementos secundarios de un control de servidor en un objeto proporcionado HtmlTextWriter , que escribe el contenido que se va a representar en el cliente.

(Heredado de Control)
RenderContents(HtmlTextWriter)

Representa los nodos en el TreeView control .

RenderControl(HtmlTextWriter, ControlAdapter)

Genera contenido de control de servidor en un objeto proporcionado HtmlTextWriter mediante un objeto proporcionado ControlAdapter .

(Heredado de Control)
RenderControl(HtmlTextWriter)

Genera contenido de control de servidor en un objeto proporcionado HtmlTextWriter y almacena información de seguimiento sobre el control si el seguimiento está habilitado.

(Heredado de Control)
RenderEndTag(HtmlTextWriter)

Representa la etiqueta de cierre HTML del control en el escritor especificado.

ResolveAdapter()

Obtiene el adaptador de control responsable de representar el control especificado.

(Heredado de Control)
ResolveClientUrl(String)

Obtiene una dirección URL que el explorador puede usar.

(Heredado de Control)
ResolveUrl(String)

Convierte una dirección URL en una que se pueda usar en el cliente solicitante.

(Heredado de Control)
SaveControlState()

Guarda los cambios de estado de control de servidor que se han producido desde el momento en que se devolvió la página al servidor.

(Heredado de Control)
SaveViewState()

Guarda el estado del TreeView control.

SetDesignModeState(IDictionary)

Establece los datos en tiempo de diseño de un control.

(Heredado de Control)
SetNodeDataBound(TreeNode, Boolean)

Permite que una clase derivada establezca si el control especificado TreeNode está enlazado a datos.

SetNodeDataItem(TreeNode, Object)

Permite que una clase derivada establezca el elemento de datos para el control especificado TreeNode .

SetNodeDataPath(TreeNode, String)

Permite que una clase derivada establezca la ruta de acceso de datos para el control especificado TreeNode .

SetRenderMethodDelegate(RenderMethod)

Asigna un delegado de controlador de eventos para representar el control de servidor y su contenido en su control primario.

(Heredado de Control)
SetTraceData(Object, Object, Object)

Establece los datos de seguimiento para el seguimiento en tiempo de diseño de los datos de representación, mediante el objeto rastreado, la clave de datos de seguimiento y el valor de los datos de seguimiento.

(Heredado de Control)
SetTraceData(Object, Object)

Establece los datos de seguimiento para el seguimiento en tiempo de diseño de los datos de representación, mediante la clave de datos de seguimiento y el valor de los datos de seguimiento.

(Heredado de Control)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)
TrackViewState()

Realiza un seguimiento de los cambios de estado de vista en el TreeView control para que se puedan almacenar en el StateBag objeto del control. Esto StateBag es accesible a través de la ViewState propiedad .

ValidateDataSource(Object)

Comprueba que el objeto al que se enlaza un control enlazado a datos es uno con el que puede trabajar.

(Heredado de HierarchicalDataBoundControl)

Eventos

Nombre Description
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 enlace a un origen de datos.

(Heredado de BaseDataBoundControl)
Disposed

Se produce cuando se libera un control de servidor de la memoria, que es la última fase del ciclo de vida del control de servidor cuando se solicita una página de ASP.NET.

(Heredado de Control)
Init

Se produce cuando se inicializa el control de servidor, que es el primer paso de su ciclo de vida.

(Heredado de Control)
Load

Se produce cuando el control de servidor se carga en el Page objeto .

(Heredado de Control)
PreRender

Se produce después de cargar el Control objeto, pero antes de la representación.

(Heredado de Control)
SelectedNodeChanged

Se produce cuando se selecciona un nodo en el TreeView control .

TreeNodeCheckChanged

Se produce cuando una casilla del TreeView control cambia el estado entre publicaciones en el servidor.

TreeNodeCollapsed

Se produce cuando se contrae un nodo en el TreeView control .

TreeNodeDataBound

Se produce cuando un elemento de datos está enlazado a un nodo del TreeView control .

TreeNodeExpanded

Se produce cuando se expande un nodo en el TreeView control .

TreeNodePopulate

Se produce cuando un nodo con su PopulateOnDemand propiedad establecida true en se expande en el TreeView control .

Unload

Se produce cuando el control de servidor se descarga de la memoria.

(Heredado de Control)

Implementaciones de interfaz explícitas

Nombre Description
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 en 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 mediante 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 para el TreeView control.

IPostBackDataHandler.RaisePostDataChangedEvent()

Indica al TreeView control que notifica al ASP.NET aplicación que el estado del control ha cambiado.

IPostBackEventHandler.RaisePostBackEvent(String)

TreeView Permite al control procesar un evento que se genera cuando se publica un formulario en el servidor.

Métodos de extensión

Nombre Description
EnablePersistedSelection(BaseDataBoundControl)
Obsoletos.

Permite que la selección se conserve en los controles de datos que admiten la selección y la paginación.

FindDataSourceControl(Control)

Devuelve el origen de datos asociado al control de datos para el control especificado.

FindFieldTemplate(Control, String)

Devuelve la plantilla de campo de la columna especificada en el contenedor de nomenclatura del control especificado.

FindMetaTable(Control)

Devuelve el objeto de metatable para el control de datos contenedor.

Se aplica a

Consulte también