TreeNode Classe

Definição

Representa um nó no controle TreeView.

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
Herança
TreeNode
Implementações

Exemplos

O exemplo de código a seguir demonstra como configurar os quadros para o próximo exemplo de código.


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

O exemplo de código a seguir demonstra como usar a sintaxe declarativa para criar TreeNode objetos no TreeView controle . Este exemplo é usado no conjunto de quadros do exemplo anterior para exibir um sumário.


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

Comentários

O TreeView controle é composto por nós. Cada entrada na árvore é chamada de nó e é representada por um TreeNode objeto . Um nó que contém outros nós é chamado de nó pai. Um nó contido por outro nó é chamado de nó filho. Um nó que não tem nós filho é chamado de nó folha. Um nó que não está contido por nenhum outro nó, mas é o ancestral de todos os outros nós, é o nó raiz. Um nó pode ser pai e filho, mas nós raiz, pai e folha são mutuamente exclusivos. Várias propriedades visuais e comportamentais de nós são determinadas por se um nó é um nó raiz, pai ou folha .

Embora uma árvore típica tenha apenas um nó raiz, o TreeView controle permite que você adicione vários nós raiz à sua estrutura de árvore. Isso é útil quando você deseja exibir listagens de itens sem exibir um único nó raiz main, como em uma lista de categorias de produtos.

Um nó armazena principalmente dados em duas propriedades, a Text propriedade e a Value propriedade . O valor da Text propriedade é exibido no TreeView controle e a Value propriedade é usada para armazenar dados adicionais sobre o nó, como dados usados para lidar com eventos de postback. Um nó também armazena o caminho do nó para seu nó raiz na ValuePath propriedade . A ValuePath propriedade indica a posição do nó em relação ao nó raiz.

Observação

Os nós no mesmo nível devem ter um valor exclusivo para a Value propriedade; o TreeView controle não pode distinguir entre nós diferentes no mesmo nível que têm o mesmo valor. Nesse cenário, se o usuário clicar em um nó que tenha um valor duplicado, o nó que aparece primeiro no TreeView controle será selecionado.

Um TreeNode objeto é composto pelos quatro elementos de interface do usuário a seguir, que podem ser personalizados ou ocultos:

  • Um ícone de indicador de nó de expansão usado para mostrar se o nó é expandido, recolhido ou não expansível.

  • Uma caixa de marcar opcional associada ao nó.

  • Uma imagem de nó opcional.

  • O texto do nó.

Você pode especificar uma imagem personalizada para os indicadores de nó expansíveis, recolhíveis e não expansíveis definindo as ExpandImageUrlpropriedades , CollapseImageUrle NoExpandImageUrl da TreeView classe . Os ícones de indicador de nó de expansão podem até mesmo ser totalmente ocultos definindo a ShowExpandCollapse propriedade da TreeView classe como false.

Para exibir uma caixa de marcar ao lado de um nó, defina a ShowCheckBoxes propriedade da TreeView classe . Quando a ShowCheckBoxes propriedade é definida como um valor diferente de TreeNodeType.Node, marcar caixas são exibidas ao lado do tipo de nó especificado. Você pode substituir seletivamente a caixa marcar de um nó individual definindo a propriedade do ShowCheckBox nó. Quando uma caixa de marcar for exibida, use a Checked propriedade para determinar se a caixa marcar está selecionada.

Você pode exibir uma imagem em um nó definindo a ImageUrl propriedade . Essa imagem é exibida ao lado do texto do nó.

O texto de um nó no TreeView controle pode estar em um dos dois modos: modo de seleção ou modo de navegação. Por padrão, um nó está no modo de seleção. Para colocar um nó no modo de navegação, defina a propriedade do NavigateUrl nó como um valor diferente de uma cadeia de caracteres vazia (""). Para colocar um nó no modo de seleção, defina a propriedade do NavigateUrl nó como uma cadeia de caracteres vazia.

Observação

Alguns navegadores de Internet têm uma limitação que pode afetar o desempenho do TreeView controle. Por exemplo, o Microsoft Internet Explorer 6.0 tem um limite de caracteres de URL de 2067 que ele posta. Se o número de caracteres em uma URL de um nó for maior que esse número, a expansão desse nó falhará e nenhuma exceção será gerada.

Por padrão, clicar em um nó que está no modo de seleção posta a página de volta no servidor e aciona o SelectedNodeChanged evento. Opcionalmente, você pode especificar um evento diferente a ser gerado definindo a propriedade do SelectAction nó. Para obter mais informações, consulte SelectAction. Para determinar qual nó foi clicado no modo de seleção, use a SelectedNode propriedade do TreeView controle .

Quando um nó está no modo de navegação, todos os eventos de seleção são desabilitados para esse nó. Clicar no nó no modo de navegação direciona o usuário para a URL especificada. Opcionalmente, você pode definir a Target propriedade para especificar a janela ou o quadro no qual exibir o conteúdo vinculado.

A TreeNode classe contém várias propriedades que são usadas para armazenar o estado do nó. Use a Selected propriedade para determinar se um nó está selecionado. Para determinar se o nó foi expandido, use a Expanded propriedade . A DataBound propriedade é usada para determinar se um nó está associado aos dados. Quando um nó está associado aos dados, você pode acessar o item de dados subjacente usando a DataItem propriedade .

A classe fornece várias propriedades que ajudam a determinar a posição de um nó em relação a outros nós na árvore. Use a Depth propriedade para determinar a profundidade do nó. Você pode obter a lista delimitada de nós do nó atual para seu nó raiz usando a ValuePath propriedade . Para determinar o nó pai do nó, use a Parent propriedade . Nós filho são acessados usando a ChildNodes coleção .

Às vezes, não é prático predefinir estaticamente a estrutura da árvore devido ao tamanho dos dados ou conteúdo personalizado que depende da entrada do usuário. Por isso, o controle dá suporte à TreeView população de nós dinâmicos. Um nó pode ser preenchido em tempo de execução quando ele é expandido. Observe que você poderá obter um comportamento inesperado se persistir nós criados de forma assíncrona. Por exemplo, se você usar um thread de trabalho em segundo plano para preencher nós de forma assíncrona, a árvore de nós poderá não ser preenchida imediatamente, embora o controle continue com o restante do ciclo de vida da página. No postback, a criação atrasada dos nós pode causar problemas quando o estado de exibição do controle é carregado, mas a árvore de nós não está totalmente preenchida. Para obter mais informações sobre a população de nós dinâmicos, consulte a PopulateOnDemand propriedade .

Para obter uma lista de valores de propriedade iniciais para uma instância do TreeNode, consulte o TreeNode construtor .

Construtores

TreeNode()

Inicializa uma nova instância da classe TreeNode sem um texto ou valor.

TreeNode(String)

Inicializa uma nova instância da classe TreeNode usando o texto especificado.

TreeNode(String, String)

Inicializa uma nova instância da classe TreeNode usando o valor e o texto especificados.

TreeNode(String, String, String)

Inicializa uma nova instância da classe TreeNode usando a URL da imagem, valor e texto especificados.

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

Inicializa uma nova instância da classe TreeNode usando o destino, a URL de navegação, a URL de imagem, o valor e o texto especificados.

TreeNode(TreeView, Boolean)

Inicializa uma nova instância da classe TreeNode usando o proprietário especificado.

Propriedades

Checked

Obtém ou define um valor que indica se a caixa de seleção do nó está marcada.

ChildNodes

Obtém uma coleção TreeNodeCollection que contém os nós filho de primeiro nível do nó atual.

DataBound

Obtém um valor que indica se o nó foi criado por meio de associação de dados.

DataItem

Obtém o item de dados associado ao controle.

DataPath

Obtém o caminho para os dados associados ao nó.

Depth

Obtém a profundidade do nó.

Expanded

Obtém ou define um valor que indica se o nó é expandido.

ImageToolTip

Obtém ou define o texto de dica de ferramenta para a imagem exibida ao lado de um nó.

ImageUrl

Obtém ou define a URL para uma imagem exibida ao lado do nó.

IsTrackingViewState

Obtém um valor que indica se o nó está salvando as alterações no estado de exibição.

NavigateUrl

Obtém ou define a URL a ser acessada quando o nó for clicado.

Parent

Obtém o nó pai do nó atual.

PopulateOnDemand

Obtém ou define um valor que indica se o nó é populado dinamicamente.

SelectAction

Obtém ou define os eventos a serem gerados quando um nó é selecionado.

Selected

Obtém ou define um valor que indica se o nó foi selecionado.

ShowCheckBox

Obtém ou define um valor que indica se uma caixa de seleção é exibida ao lado do nó.

Target

Obtém ou define a janela ou o quadro de destino no qual deverá ser exibido o conteúdo da página da Web associado a um nó.

Text

Obtém ou define o texto exibido para o nó no controle TreeView.

ToolTip

Obtém ou define o texto de ToolTip para o nó.

Value

Obtém ou define um valor não exibido usado para armazenar quaisquer dados adicionais sobre o nó, como dados usados para manipular eventos de postback.

ValuePath

Obtém o caminho do nó de raiz até o nó atual.

Métodos

Clone()

Cria uma nova instância da classe TreeNode com as propriedades da instância TreeNode atual.

Collapse()

Recolhe o nó de árvore atual.

CollapseAll()

Recolhe o nó atual e todos os seus nós filho.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Expand()

Expande o nó de árvore atual.

ExpandAll()

Expande o nó atual e todos os seus nós filho.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
LoadViewState(Object)

Carrega o estado de exibição salvo anteriormente do nó.

MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
RenderPostText(HtmlTextWriter)

Permite que os desenvolvedores de controle adicionem processamento extra ao nó.

RenderPreText(HtmlTextWriter)

Permite que os desenvolvedores de controle adicionem processamento extra ao nó.

SaveViewState()

Salva o estado de exibição atual do nó.

Select()

Seleciona o nó atual no controle TreeView.

ToggleExpandState()

Alterna entre os estados expandido e recolhido do nó.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)
TrackViewState()

Marca o ponto inicial no qual começar a acompanhar e salvar as alterações de estado de exibição ao nó.

Implantações explícitas de interface

ICloneable.Clone()

Cria uma cópia do objeto TreeNode.

IStateManager.IsTrackingViewState

Para obter uma descrição desse membro, confira IsTrackingViewState.

IStateManager.LoadViewState(Object)

Carrega o estado de exibição do nó salvo anteriormente.

IStateManager.SaveViewState()

Salva as alterações ao estado de exibição em um Object.

IStateManager.TrackViewState()

Instrui o objeto TreeNode a acompanhar as alterações em seu estado de exibição.

Aplica-se a

Confira também