TreeNode TreeNode TreeNode TreeNode Class

Definición

Representa un nodo del control TreeView.Represents a node in the TreeView control.

public ref class TreeNode : ICloneable, System::Web::UI::IStateManager
public class TreeNode : ICloneable, System.Web.UI.IStateManager
type TreeNode = class
    interface IStateManager
    interface ICloneable
Public Class TreeNode
Implements ICloneable, IStateManager
Herencia
TreeNodeTreeNodeTreeNodeTreeNode
Implementaciones

Ejemplos

En el ejemplo de código siguiente se muestra cómo configurar los marcos para el ejemplo de código siguiente.The following code example demonstrates how to set up the frames for the next code example.


<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 utilizar la sintaxis declarativa para crear TreeNode objetos en el TreeView control.The following code example demonstrates how to use declarative syntax to create TreeNode objects in the TreeView control. En este ejemplo se utiliza en el conjunto de marcos del ejemplo anterior para mostrar una tabla de contenido.This example is used within the frameset of the previous example to display a table of contents.


<%@ 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>

Comentarios

El TreeView control se compone de nodos.The TreeView control is made up of nodes. Cada entrada en el árbol se denomina nodo y se representa mediante un TreeNode objeto.Each entry in the tree is called a node and is represented by a TreeNode object. Un nodo que contiene otros nodos se denomina un nodo primario.A node that contains other nodes is called a parent node. Se llama a un nodo que está contenido en otro nodo un nodo secundario.A node that is contained by another node is called a child node. Un nodo que no tiene nodos secundarios se denomina un nodo hoja.A node that has no child nodes is called a leaf node. Un nodo que no está incluido en ningún otro nodo, pero es el antecesor de todos los demás nodos es el nodo raíz.A node that is not contained by any other node but is the ancestor to all the other nodes is the root node. Un nodo puede ser un elemento primario y un elemento primario secundario, pero la raíz, y los nodos hoja son mutuamente excluyentes.A node can be both a parent and a child, but root, parent, and leaf nodes are mutually exclusive. Varias propiedades visuales y comportamiento de los nodos se determinan por si un nodo es un raíz, primario, o hoja nodo.Several visual and behavioral properties of nodes are determined by whether a node is a root, parent, or leaf node.

Aunque un árbol típico tiene solo un nodo raíz, el TreeView control le permite agregar varios nodos raíz a la estructura de árbol.Although a typical tree has only one root node, the TreeView control allows you to add multiple root nodes to your tree structure. Esto es útil cuando desea mostrar listas de elementos sin mostrar un único nodo raíz principal, como se muestra en una lista de categorías de producto.This is useful when you want to display item listings without displaying a single main root node, as in a list of product categories.

Un nodo almacena los datos principalmente en dos propiedades, el Text propiedad y el Value propiedad.A node primarily stores data in two properties, the Text property and the Value property. El valor de la Text propiedad se muestra en el TreeView control y el Value propiedad se utiliza para almacenar datos adicionales sobre el nodo, como los datos utilizados para controlar los eventos de postback.The value of the Text property is displayed in the TreeView control, and the Value property is used to store any additional data about the node, such as data used for handling postback events. Un nodo también almacena la ruta de acceso desde el nodo a su nodo raíz en el ValuePath propiedad.A node also stores the path from the node to its root node in the ValuePath property. El ValuePath propiedad indica la posición del nodo en relación con el nodo raíz.The ValuePath property indicates the node's position relative to the root node.

Nota

Los nodos del mismo nivel deben tener un valor único para el Value propiedad; el TreeView control no puede distinguir entre distintos nodos del mismo nivel que tienen el mismo valor.Nodes at the same level must each have a unique value for the Value property; the TreeView control cannot distinguish between different nodes at the same level that have the same value. En este escenario, si el usuario hace clic en un nodo que tiene un valor duplicado, el nodo que aparece en primer lugar en el TreeView control está seleccionado.In this scenario, if the user clicks a node that has a duplicate value, the node that appears first in the TreeView control is selected.

Un TreeNode objeto se compone de los siguientes elementos de interfaz (IU) de usuario de cuatro, que se pueden personalizar u ocultados:A TreeNode object is made up of the following four user interface (UI) elements, which can be customized or hidden:

  • Un icono de indicador de nodo de expansión utilizado para mostrar si el nodo está expandido, contraído o no es expansible.An expansion node indicator icon used to show whether the node is expanded, collapsed, or non-expandable.

  • Una casilla de verificación opcional asociada al nodo.An optional check box associated with the node.

  • Una imagen de nodo opcional.An optional node image.

  • El texto del nodo.The node text.

Puede especificar una imagen personalizada para los indicadores de nodo expansible, contraíble y no expansible estableciendo el ExpandImageUrl, CollapseImageUrl, y NoExpandImageUrl propiedades de la TreeView clase.You can specify a custom image for the expandable, collapsible, and non-expandable node indicators by setting the ExpandImageUrl, CollapseImageUrl, and NoExpandImageUrl properties of the TreeView class. Incluso se pueden ocultar los iconos de indicador de nodo de expansión completamente estableciendo el ShowExpandCollapse propiedad de la TreeView clase false.The expansion node indicator icons can even be hidden entirely by setting the ShowExpandCollapse property of the TreeView class to false.

Para mostrar una casilla de verificación junto a un nodo, establezca la ShowCheckBoxes propiedad de la TreeView clase.To display a check box next to a node, set the ShowCheckBoxes property of the TreeView class. Cuando el ShowCheckBoxes propiedad se establece en un valor distinto TreeNodeType.Node, se muestran las casillas de verificación junto al tipo de nodo especificado.When the ShowCheckBoxes property is set to a value other than TreeNodeType.Node, check boxes are displayed next to the specified node type. Puede reemplazar de forma selectiva la casilla de verificación de un nodo individual mediante el establecimiento del nodo ShowCheckBox propiedad.You can selectively override the check box of an individual node by setting the node's ShowCheckBox property. Cuando se muestre una casilla, utilice el Checked propiedad para determinar si se selecciona la casilla de verificación.When a check box is displayed, use the Checked property to determine whether the check box is selected.

Puede mostrar una imagen en un nodo estableciendo el ImageUrl propiedad.You can display an image in a node by setting the ImageUrl property. Esta imagen se muestra al lado del texto del nodo.This image is displayed next to the node text.

El texto de un nodo en el TreeView control puede estar en uno de dos modos: modo de selección o modo de exploración.The text of a node in the TreeView control can be in one of two modes: selection mode or navigation mode. De forma predeterminada, un nodo está en modo de selección.By default, a node is in selection mode. Para colocar un nodo en modo de exploración, establezca el nodo NavigateUrl propiedad en un valor distinto de una cadena vacía ("").To put a node into navigation mode, set the node's NavigateUrl property to a value other than an empty string (""). Para poner un nodo en modo de selección, establezca el nodo NavigateUrl propiedad en una cadena vacía.To put a node into selection mode, set the node's NavigateUrl property to an empty string.

Nota

Algunos exploradores de Internet tienen una limitación que puede afectar al rendimiento de la TreeView control.Some Internet browsers have a limitation that can affect the performance of the TreeView control. Por ejemplo, Microsoft Internet Explorer 6.0 tiene un límite de caracteres de la dirección URL de 2067 caracteres que envía.For example, Microsoft Internet Explorer 6.0 has a URL character limit of 2067 characters that it posts. Si el número de caracteres en una dirección URL de un nodo es mayor que ese número, al expandir ese nodo se producirá un error y se produce ninguna excepción.If the number of characters in a URL of a node is larger than that number, expanding that node will fail and no exception is thrown.

De forma predeterminada, al hacer clic en un nodo que está en modo de selección de entradas de la página al servidor y genera el SelectedNodeChanged eventos.By default, clicking a node that is in selection mode posts the page back to the server and raises the SelectedNodeChanged event. Opcionalmente, puede especificar un evento diferente para generar estableciendo el nodo SelectAction propiedad.You can optionally specify a different event to raise by setting the node's SelectAction property. Para obtener más información, vea SelectAction.For more information, see SelectAction. Para determinar qué nodo se hizo clic en el modo de selección, utilice el SelectedNode propiedad de la TreeView control.To determine which node was clicked in selection mode, use the SelectedNode property of the TreeView control.

Cuando un nodo está en modo de exploración, se deshabilitan todos los eventos de selección para ese nodo.When a node is in navigation mode, all selection events are disabled for that node. Al hacer clic en el nodo en modo de exploración, se dirige al usuario a la dirección URL especificada.Clicking the node in navigation mode directs the user to the specified URL. Opcionalmente, puede establecer el Target propiedad para especificar la ventana o marco en el que se va a mostrar el contenido vinculado.You can optionally set the Target property to specify the window or frame in which to display the linked content.

La TreeNode clase contiene varias propiedades que se usan para almacenar el estado del nodo.The TreeNode class contains several properties that are used to store the state of the node. Use el Selected propiedad para determinar si se selecciona un nodo.Use the Selected property to determine whether a node is selected. Para determinar si el nodo está expandido, utilice el Expanded propiedad.To determine whether the node is expanded, use the Expanded property. El DataBound propiedad se utiliza para determinar si un nodo está enlazado a datos.The DataBound property is used to determine whether a node is bound to data. Cuando un nodo está enlazado a datos, puede tener acceso el elemento de datos subyacente utilizando la DataItem propiedad.When a node is bound to data, you can access the underlying data item by using the DataItem property.

La clase proporciona varias propiedades que ayudan a determinar la posición de un nodo con respecto a otros nodos en el árbol.The class provides several properties that help to determine the position of a node relative to other nodes in the tree. Use el Depth propiedad para determinar la profundidad del nodo.Use the Depth property to determine the depth of the node. Puede obtener la lista delimitada de nodos desde el nodo actual a su nodo raíz mediante el ValuePath propiedad.You can get the delimited list of nodes from the current node to its root node by using the ValuePath property. Para determinar el nodo primario del nodo, utilice el Parent propiedad.To determine the node's parent node, use the Parent property. Los nodos secundarios son accesibles mediante el ChildNodes colección.Child nodes are accessed using the ChildNodes collection.

A veces, no es práctico estáticamente predefinir la estructura de árbol debido al tamaño de los datos o el contenido personalizado que depende la entrada del usuario.Sometimes, it is not practical to statically predefine the tree structure due to data size or custom content that depends on user input. Por este motivo, el TreeView control admite el llenado de nodos dinámico.Because of this, the TreeView control supports dynamic node population. Un nodo se puede rellenar en tiempo de ejecución cuando se expanda.A node can be populated at run time when it is expanded. Tenga en cuenta que puede obtener un comportamiento inesperado si conserva los nodos creados de forma asincrónica.Note that you can get unexpected behavior if you persist asynchronously created nodes. Por ejemplo, si usa un subproceso de trabajo en segundo plano para rellenar los nodos de forma asincrónica, el árbol de nodos es posible que no se rellena inmediatamente aunque el control continúa con el resto del ciclo de vida de página.For example, if you use a background worker thread to populate nodes asynchronously, the node tree might not be populated immediately though the control proceeds with the rest of the page life cycle. En la devolución de datos, la creación diferida de los nodos puede causar problemas cuando se carga el estado de vista del control, pero aún no está totalmente rellena el árbol de nodos.On postback, the delayed creation of the nodes can cause problems when the control's view state is loaded but the node tree is not fully populated. Para obtener más información sobre la población de nodo dinámica, consulte el PopulateOnDemand propiedad.For more information on dynamic node population, see the PopulateOnDemand property.

Para obtener una lista de valores de propiedad iniciales de una instancia de TreeNode, consulte el TreeNode constructor.For a list of initial property values for an instance of TreeNode, see the TreeNode constructor.

Constructores

TreeNode() TreeNode() TreeNode() TreeNode()

Inicializa una instancia nueva de la clase TreeNode sin un texto ni un valor.Initializes a new instance of the TreeNode class without text or a value.

TreeNode(String) TreeNode(String) TreeNode(String) TreeNode(String)

Inicializa una nueva instancia de la clase TreeNode con el texto especificado.Initializes a new instance of the TreeNode class using the specified text.

TreeNode(String, String) TreeNode(String, String) TreeNode(String, String) TreeNode(String, String)

Inicializa una instancia nueva de la clase TreeNode con el texto y el valor especificados.Initializes a new instance of the TreeNode class using the specified text and value.

TreeNode(String, String, String) TreeNode(String, String, String) TreeNode(String, String, String) TreeNode(String, String, String)

Inicializa una instancia nueva de la clase TreeNode con el texto, el valor y la dirección URL de imagen especificados.Initializes a new instance of the TreeNode class using the specified text, value, and image URL.

TreeNode(String, String, String, String, String) TreeNode(String, String, String, String, String) TreeNode(String, String, String, String, String) TreeNode(String, String, String, String, String)

Inicializa una instancia nueva de la clase TreeNode utilizando los datos de texto, valor, dirección URL de imagen, dirección URL de desplazamiento y destino especificados.Initializes a new instance of the TreeNode class using the specified text, value, image URL, navigation URL, and target.

TreeNode(TreeView, Boolean) TreeNode(TreeView, Boolean) TreeNode(TreeView, Boolean) TreeNode(TreeView, Boolean)

Inicializa una instancia nueva de la clase TreeNode utilizando el propietario especificado.Initializes a new instance of the TreeNode class using the specified owner.

Propiedades

Checked Checked Checked Checked

Obtiene o establece un valor que indica si la casilla del nodo está activada.Gets or sets a value that indicates whether the node's check box is selected.

ChildNodes ChildNodes ChildNodes ChildNodes

Obtiene una colección TreeNodeCollection que contiene los nodos secundarios de primer nivel del nodo actual.Gets a TreeNodeCollection collection that contains the first-level child nodes of the current node.

DataBound DataBound DataBound DataBound

Obtiene un valor que indica si el nodo se creó mediante enlace de datos.Gets a value that indicates whether the node was created through data binding.

DataItem DataItem DataItem DataItem

Obtiene el elemento de datos enlazado al control.Gets the data item that is bound to the control.

DataPath DataPath DataPath DataPath

Obtiene la ruta de acceso a los datos enlazados al nodo.Gets the path to the data bound to the node.

Depth Depth Depth Depth

Obtiene la profundidad del nodo.Gets the depth of the node.

Expanded Expanded Expanded Expanded

Obtiene o establece un valor que indica si el nodo está expandido.Gets or sets a value that indicates whether the node is expanded.

ImageToolTip ImageToolTip ImageToolTip ImageToolTip

Obtiene o establece el texto de información sobre herramientas para la imagen mostrada al lado de un nodo.Gets or sets the ToolTip text for the image displayed next to a node.

ImageUrl ImageUrl ImageUrl ImageUrl

Obtiene o establece la dirección URL de una imagen que se muestra al lado del nodo.Gets or sets the URL to an image that is displayed next to the node.

IsTrackingViewState IsTrackingViewState IsTrackingViewState IsTrackingViewState

Obtiene un valor que indica si el nodo está guardando los cambios en su estado de vista.Gets a value that indicates whether the node is saving changes to its view state.

NavigateUrl NavigateUrl NavigateUrl NavigateUrl

Obtiene o establece la dirección URL destino cuando se hace clic en el nodo.Gets or sets the URL to navigate to when the node is clicked.

Parent Parent Parent Parent

Obtiene el nodo primario del nodo actual.Gets the parent node of the current node.

PopulateOnDemand PopulateOnDemand PopulateOnDemand PopulateOnDemand

Obtiene o establece un valor que indica si el nodo se rellena dinámicamente.Gets or sets a value that indicates whether the node is populated dynamically.

SelectAction SelectAction SelectAction SelectAction

Obtiene o establece el evento o eventos que se generan cuando se selecciona un nodo.Gets or sets the event or events to raise when a node is selected.

Selected Selected Selected Selected

Obtiene o establece un valor que indica si el nodo está seleccionado.Gets or sets a value that indicates whether the node is selected.

ShowCheckBox ShowCheckBox ShowCheckBox ShowCheckBox

Obtiene o establece un valor que indica si se muestra una casilla al lado del nodo.Gets or sets a value that indicates whether a check box is displayed next to the node.

Target Target Target 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.Gets or sets the target window or frame in which to display the Web page content associated with a node.

Text Text Text Text

Obtiene o establece el texto mostrado para el nodo en un control TreeView.Gets or sets the text displayed for the node in the TreeView control.

ToolTip ToolTip ToolTip ToolTip

Obtiene o establece el texto de la información sobre herramientas para el nodo.Gets or sets the ToolTip text for the node.

Value Value Value Value

Obtiene o establece un valor que no se muestra en pantalla y que se utiliza para almacenar datos adicionales sobre el nodo, tales como los datos utilizados para controlar los eventos de postback.Gets or sets a non-displayed value used to store any additional data about the node, such as data used for handling postback events.

ValuePath ValuePath ValuePath ValuePath

Obtiene la ruta de acceso desde el nodo raíz hasta el nodo actual.Gets the path from the root node to the current node.

Métodos

Clone() Clone() Clone() Clone()

Crea una instancia nueva de la clase TreeNode con las propiedades de la instancia TreeNode actual.Creates a new instance of the TreeNode class with the properties of the current TreeNode instance.

Collapse() Collapse() Collapse() Collapse()

Contrae el nodo de árbol actual.Collapses the current tree node.

CollapseAll() CollapseAll() CollapseAll() CollapseAll()

Contrae el nodo actual y todos sus nodos secundarios.Collapses the current node and all its child nodes.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Inherited from Object)
Expand() Expand() Expand() Expand()

Expande el nodo de árbol actual.Expands the current tree node.

ExpandAll() ExpandAll() ExpandAll() ExpandAll()

Expande el nodo actual y todos sus nodos secundarios.Expands the current node and all its child nodes.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Inherited from Object)
LoadViewState(Object) LoadViewState(Object) LoadViewState(Object) LoadViewState(Object)

Carga el estado de vista guardado previamente del nodo.Loads the previously saved view state of the node.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

(Inherited from Object)
RenderPostText(HtmlTextWriter) RenderPostText(HtmlTextWriter) RenderPostText(HtmlTextWriter) RenderPostText(HtmlTextWriter)

Permite a los desarrolladores de controles agregar una representación adicional al nodo.Allows control developers to add additional rendering to the node.

RenderPreText(HtmlTextWriter) RenderPreText(HtmlTextWriter) RenderPreText(HtmlTextWriter) RenderPreText(HtmlTextWriter)

Permite a los desarrolladores de controles agregar una representación adicional al nodo.Allows control developers to add additional rendering to the node.

SaveViewState() SaveViewState() SaveViewState() SaveViewState()

Guarda el estado de vista actual del nodo.Saves the current view state of the node.

Select() Select() Select() Select()

Selecciona el nodo actual del control TreeView.Selects the current node in the TreeView control.

ToggleExpandState() ToggleExpandState() ToggleExpandState() ToggleExpandState()

Alterna entre el estado expandido y contraído del nodo.Alternates between the expanded and collapsed state of the node.

ToString() ToString() ToString() ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Inherited from Object)
TrackViewState() TrackViewState() TrackViewState() TrackViewState()

Marca el punto en el que debe comenzar el seguimiento y el almacenamiento de los cambios del estado de vista realizados en el nodo.Marks the starting point at which to begin tracking and saving view state changes to the node.

Implementaciones de interfaz explícitas

ICloneable.Clone() ICloneable.Clone() ICloneable.Clone() ICloneable.Clone()

Crea una copia del objeto TreeNode .Creates a copy of the TreeNode object.

IStateManager.IsTrackingViewState IStateManager.IsTrackingViewState IStateManager.IsTrackingViewState IStateManager.IsTrackingViewState

Para obtener una descripción de este miembro, vea IsTrackingViewState.For a description of this member, see IsTrackingViewState.

IStateManager.LoadViewState(Object) IStateManager.LoadViewState(Object) IStateManager.LoadViewState(Object) IStateManager.LoadViewState(Object)

Carga el estado de vista previamente guardado del nodo.Loads the node's previously saved view state.

IStateManager.SaveViewState() IStateManager.SaveViewState() IStateManager.SaveViewState() IStateManager.SaveViewState()

Guarda los cambios del estado de vista en un objeto Object.Saves the view state changes to a Object.

IStateManager.TrackViewState() IStateManager.TrackViewState() IStateManager.TrackViewState() IStateManager.TrackViewState()

Indica al objeto TreeNode que efectúe el seguimiento de los cambios de su estado de vista.Instructs the TreeNode object to track changes to its view state.

Se aplica a

Consulte también: