TreeView Classe

Definição

Exibe dados hierárquicos, como um sumário, em uma estrutura de árvore.

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

Exemplos

Esta seção contém sete exemplos de código:

  • O primeiro exemplo de código demonstra como configurar os quadros para o segundo exemplo de código.

  • O segundo exemplo de código demonstra como usar a sintaxe declarativa para exibir dados estáticos no TreeView controle .

  • O terceiro exemplo de código demonstra como associar o TreeView controle a uma fonte de dados XML.

  • O quarto exemplo de código fornece dados XML de exemplo para o terceiro exemplo de código.

  • O quinto exemplo de código demonstra como usar o controle para navegação do site associando-o TreeView a um SiteMapDataSource controle .

  • O sexto exemplo de código fornece dados de mapa de site de exemplo para o quinto exemplo de código.

  • O sétimo exemplo de código demonstra como preencher os nós no TreeView controle do cliente.

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


<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 exibir dados estáticos no TreeView controle . Este exemplo é usado dentro do 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>

O exemplo de código a seguir demonstra como associar o TreeView controle a uma fonte de dados XML. Para que este exemplo funcione corretamente, você deve copiar os dados XML de exemplo, fornecidos após este exemplo de código, para um arquivo chamado 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>

O exemplo de código a seguir fornece dados XML de exemplo para o exemplo 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>

O exemplo de código a seguir demonstra como usar o controle para navegação no site associando-o TreeView a um SiteMapDataSource controle . Para que este exemplo funcione corretamente, você deve copiar os dados de mapa do site de exemplo, fornecidos após este exemplo de código, para um arquivo chamado 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>

O exemplo de código a seguir fornece dados de mapa de site de exemplo para o exemplo 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>

O exemplo de código a seguir demonstra como preencher os nós no TreeView controle do cliente. Quando a população de nós do lado do cliente está habilitada, os nós são preenchidos dinamicamente no cliente, sem a necessidade de postar de volta no 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>

Comentários

Neste tópico:

Introdução

O TreeView controle é usado para exibir dados hierárquicos, como um sumário ou diretório de arquivos, em uma estrutura de árvore e dá suporte aos seguintes recursos:

  • Associação de dados que permite que os nós do controle sejam associados a dados XML, tabulares ou relacionais.

  • Navegação do site por meio da integração com o SiteMapDataSource controle .

  • Texto do nó que pode ser exibido como texto sem formatação ou hiperlinks.

  • Acesso programático ao TreeView modelo de objeto para criar árvores, popular nós, definir propriedades e assim por diante dinamicamente.

  • População de nós do lado do cliente (em navegadores com suporte).

  • A capacidade de exibir uma caixa de marcar ao lado de cada nó.

  • Aparência personalizável por meio de temas, imagens definidas pelo usuário e estilos.

    Observação

    O TreeView controle foi projetado para ser usado dentro de um UpdatePanel controle somente quando é definido truecomo EnableClientScript . UpdatePanel os controles são usados para atualizar regiões selecionadas de uma página em vez de atualizar a página inteira com um postback. Para obter mais informações, consulte Visão geral do controle UpdatePanel e Visão geral da renderização de página parcial.

Nós

O TreeView controle é composto por nós. Cada entrada na árvore é chamada de nó e é representada por um TreeNode objeto . Os tipos de nó são definidos da seguinte maneira:

  • Um nó que contém outros nós é chamado de nó pai.

  • O nó contido por outro nó é chamado de nó filho.

  • Um nó que não tem filhos é chamado de nó folha.

  • O 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, filho ou folha.

Embora uma estrutura de á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, como em uma lista de categorias de produtos.

Cada nó tem uma Text propriedade e uma Value propriedade. O valor da Text propriedade é exibido no TreeView, enquanto a Value propriedade é usada para armazenar dados adicionais sobre o nó, como dados que são passados para o evento de postback associado ao nó.

Um nó pode estar em um dos dois modos: modo de seleção e 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 NavigateUrl propriedade do nó como um valor diferente de uma cadeia de caracteres vazia (""). Para colocar um nó no modo de seleção, defina a NavigateUrl propriedade do 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.

Dados estáticos

O modelo de dados mais simples do controle são os TreeView dados estáticos. Para exibir dados estáticos usando sintaxe declarativa, primeiro aninhar marcas de abertura e fechamento <Nodes> entre as marcas de abertura e fechamento do TreeView controle. Em seguida, crie a estrutura de árvore aninhando <asp:TreeNode> elementos entre as marcas de abertura e fechamento <Nodes> . Cada <asp:TreeNode> elemento representa um nó na árvore e é mapeado para um TreeNode objeto . Você pode definir as propriedades de cada nó definindo os atributos de seu <asp:TreeNode> elemento. Para criar nós filho, aninhar elementos adicionais <asp:TreeNode> entre as marcas de abertura e fechamento <asp:TreeNode> do nó pai.

Associação a dados

O TreeView controle também pode ser associado a dados. Você pode usar um dos dois métodos para associar o TreeView controle ao tipo de fonte de dados apropriado:

  • O TreeView controle pode usar qualquer controle de fonte de dados que implemente a IHierarchicalDataSource interface, como um XmlDataSource controle ou um SiteMapDataSource controle. Para associar a um controle de fonte de dados, defina a DataSourceID propriedade do TreeView controle como o ID valor do controle da fonte de dados. O TreeView controle é associado automaticamente ao controle de fonte de dados especificado. Esse é o método preferencial a ser associado aos dados.

  • O TreeView controle também pode ser associado a um XmlDocument objeto ou um DataSet objeto com relações. Para associar a uma dessas fontes de dados, defina a DataSource propriedade do TreeView controle como a fonte de dados e chame o DataBind método .

Ao associar a uma fonte de dados em que cada item de dados contém várias propriedades (como um elemento XML com vários atributos), um nó exibe o valor retornado pelo ToString método do item de dados, por padrão. No caso de um elemento XML, o nó exibe o nome do elemento, que mostra a estrutura subjacente da árvore, mas não é muito útil de outra forma. Você pode associar um nó a uma propriedade de item de dados específica especificando associações de nó de árvore usando a DataBindings coleção. A DataBindings coleção contém TreeNodeBinding objetos que definem a relação entre um item de dados e o nó ao qual está vinculação. Você pode especificar os critérios para associação e a propriedade do item de dados a ser exibida no nó. Para obter mais informações sobre associações de nó de árvore, consulte TreeNodeBinding.

Importante

Um usuário mal-intencionado pode criar uma solicitação de retorno de chamada e obter dados para os nós do TreeView controle que o desenvolvedor de página não está exibindo. Portanto, a segurança dos dados deve ser implementada pela fonte de dados. Não use a MaxDataBindDepth propriedade para ocultar dados.

População de Nós Dinâmicos

Às vezes, não é prático definir estaticamente a estrutura da árvore porque a fonte de dados retorna muitos dados ou porque os dados a serem exibidos dependem das informações que você obtém em tempo de execução. Por isso, o controle dá suporte à TreeView população de nós dinâmicos. Quando a PopulateOnDemand propriedade de um nó é definida como true, esse nó é preenchido em tempo de execução quando o nó é expandido. Para preencher um nó dinamicamente, você deve definir um método de manipulação de eventos que contenha a lógica para preencher um nó para o TreeNodePopulate evento.

Os navegadores que dão suporte a scripts de retorno de chamada também podem aproveitar a população de nós do lado do cliente. (Isso inclui o Internet Explorer 5.5 e posterior e alguns outros navegadores.) A população de nós do lado do cliente permite que o TreeView controle preencha um nó usando o script do cliente quando os usuários expandem o nó, sem a necessidade de uma viagem de ida e volta para o servidor. Para obter mais informações sobre a população de nós do lado do cliente, consulte PopulateNodesFromClient.

Personalizando a interface do usuário

Há muitas maneiras de personalizar a aparência do TreeView controle. Primeiro, você pode especificar um estilo diferente (como tamanho e cor da fonte) para cada um dos tipos de nó.

Se você usar CSS (folhas de estilo em cascata) para personalizar a aparência do controle, use estilos embutidos ou um arquivo CSS separado, mas não ambos. Usar estilos embutidos e um arquivo CSS separado pode causar resultados inesperados. Para obter mais informações sobre como usar folhas de estilo com controles, consulte Controles do Servidor Web e Estilos de CSS.

A tabela a seguir lista os estilos de nó disponíveis.

Propriedade de estilo de nó Descrição
HoverNodeStyle As configurações de estilo de um nó quando o ponteiro do mouse é posicionado sobre ele.
LeafNodeStyle As configurações de estilo para os nós folha.
NodeStyle As configurações de estilo padrão para um nó.
ParentNodeStyle As configurações de estilo para os nós pai.
RootNodeStyle As configurações de estilo para o nó raiz.
SelectedNodeStyle As configurações de estilo de um nó selecionado.

Você também pode controlar o estilo de nós em profundidades específicas dentro da árvore usando a LevelStyles coleção . O primeiro estilo da coleção corresponde ao estilo dos nós no primeiro nível da árvore. O segundo estilo na coleção corresponde ao estilo dos nós no segundo nível da árvore e assim por diante. Isso geralmente é usado para gerar menus de navegação no estilo de conteúdo em que os nós em uma determinada profundidade devem ter a mesma aparência, independentemente de terem nós filho.

Observação

Se um estilo for definido para um determinado nível de profundidade usando a LevelStyles coleção, esse estilo substituirá quaisquer configurações de estilo de nó raiz, pai ou folha para os nós nessa profundidade.

Outra maneira de alterar a aparência do controle é personalizar as imagens exibidas no TreeView controle. Você pode especificar seu próprio conjunto personalizado de imagens para as diferentes partes do controle definindo as propriedades mostradas na tabela a seguir.

Propriedade Image Descrição
CollapseImageUrl A URL para uma imagem exibida para o indicador de nó recolhível. Essa imagem geralmente é um sinal de subtração (-).
ExpandImageUrl A URL para uma imagem exibida para o indicador de nó expansível. Essa imagem geralmente é um sinal de adição (+).
LineImagesFolder A URL para a pasta que contém as imagens de linha usadas para conectar nós pai a nós filho. A ShowLines propriedade também deve ser definida true como para que essa propriedade tenha um efeito.
NoExpandImageUrl A URL para uma imagem exibida para o indicador de nó não expansível.

Observação

Você não precisa personalizar todas as propriedades de imagem. Se uma propriedade de imagem não estiver definida explicitamente, a imagem padrão interna será usada.

O TreeView controle também permite exibir uma caixa de marcar ao lado de um nó. Quando a ShowCheckBoxes propriedade é definida como um valor diferente de TreeNodeTypes.None, marcar caixas são exibidas ao lado dos tipos de nó especificados.

Observação

A ShowCheckBoxes propriedade pode ser definida como uma combinação bit a bit dos TreeNodeTypes valores de membro de enumeração.

Sempre que a página é postada no servidor, a CheckedNodes coleção é preenchida automaticamente com os nós selecionados. Quando marcar caixas são exibidas, você pode usar o TreeNodeCheckChanged evento para executar uma rotina personalizada sempre que o estado de uma caixa de marcar for alterado entre postagens no servidor.

Eventos

O TreeView controle fornece vários eventos com os quais você pode programar. Isso permite que você execute uma rotina personalizada sempre que ocorrer um evento. A tabela a seguir lista os eventos compatíveis com o TreeView controle .

Evento Descrição
TreeNodeCheckChanged Ocorre quando as caixas marcar do TreeView estado de alteração de controle entre postagens no servidor.
SelectedNodeChanged Ocorre quando um nó é selecionado no controle TreeView.
TreeNodeExpanded Ocorre quando um nó é expandido no controle TreeView.
TreeNodeCollapsed Ocorre quando um nó é recolhido no controle TreeView.
TreeNodePopulate Ocorre quando um nó com a propriedade PopulateOnDemand definida como true está expandida no controle TreeView.
TreeNodeDataBound Ocorre quando um item de dados é associado a um nó no controle de TreeView.

Rolagem

O TreeView controle não tem rolagem interna. Para adicionar rolagem, coloque o TreeView controle em um Panel controle e adicione barras de rolagem ao Panel controle . Para obter mais informações, consulte Visão geral do controle do servidor Web do painel.

Acessibilidade

A marcação renderizada por padrão para esse controle pode não estar em conformidade com os padrões de acessibilidade. Para obter detalhes sobre o suporte de acessibilidade para esse controle, consulte Controles de ASP.NET e Acessibilidade.

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

Construtores

TreeView()

Inicializa uma nova instância da classe TreeView.

Propriedades

AccessKey

Obtém ou define a tecla de acesso que permite navegar rapidamente para o controle do servidor Web.

(Herdado de WebControl)
Adapter

Obtém o adaptador específico de navegador para o controle.

(Herdado de Control)
AppRelativeTemplateSourceDirectory

Obtém ou define o diretório virtual relativo de aplicativo do objeto Page ou UserControl que contém este controle.

(Herdado de Control)
Attributes

Obtém a coleção de atributos arbitrários (somente para renderização) que não correspondem às propriedades do controle.

(Herdado de WebControl)
AutoGenerateDataBindings

Obtém ou define um valor que indica se o controle TreeView gera automaticamente as associações de nó de árvore.

BackColor

Obtém ou define a cor da tela de fundo do controle do servidor Web.

(Herdado de WebControl)
BindingContainer

Obtém o controle que contém a vinculação de dados desse controle.

(Herdado de Control)
BorderColor

Obtém ou define a cor da borda do controle Web.

(Herdado de WebControl)
BorderStyle

Obtém ou define o estilo de borda do controle de servidor Web.

(Herdado de WebControl)
BorderWidth

Obtém ou define a largura da borda do controle de servidor Web.

(Herdado de WebControl)
CheckedNodes

Obtém uma coleção de objetos TreeNode que representam os nós no controle TreeView que exibe uma caixa de seleção selecionada.

ChildControlsCreated

Obtém um valor que indica se os controles filho do controle de servidor foram criados.

(Herdado de Control)
ClientID

Obtém a ID de controle de marcação HTML gerada pelo ASP.NET.

(Herdado de Control)
ClientIDMode

Obtém ou define o algoritmo usado para gerar o valor da propriedade ClientID.

(Herdado de Control)
ClientIDSeparator

Obtém um valor de caractere que representa o caractere separador usado na propriedade ClientID.

(Herdado de Control)
CollapseImageToolTip

Obtém ou define a dica de ferramenta para a imagem exibida para o indicador de nó recolhível.

CollapseImageUrl

Obtém ou define a URL para uma imagem personalizada para o indicador de nó recolhível.

Context

Obtém o objeto HttpContext associado ao controle de servidor para a solicitação da Web atual.

(Herdado de Control)
Controls

Obtém um objeto ControlCollection que representa os controles filho para um controle de servidor especificado na hierarquia de interface do usuário.

(Herdado de Control)
ControlStyle

Obtém o estilo de um controle de servidor Web. Essa propriedade é usada principalmente por desenvolvedores de controle.

(Herdado de WebControl)
ControlStyleCreated

Obtém um valor que indica se um objeto Style foi criado para a propriedade ControlStyle. Essa propriedade é usada principalmente por desenvolvedores de controle.

(Herdado de WebControl)
CssClass

Obtém ou define a classe CSS (Folha de Estilos em Cascata) renderizada pelo controle do servidor Web no cliente.

(Herdado de WebControl)
DataBindings

Obtém uma coleção de TreeNodeBinding objetos que definem a relação entre um item de dados e o nó ao qual ele está se associando.

DataItemContainer

Obtém uma referência ao contêiner de nomenclatura se o contêiner de nomenclatura implementa o IDataItemContainer.

(Herdado de Control)
DataKeysContainer

Obtém uma referência ao contêiner de nomenclatura se o contêiner de nomenclatura implementa o IDataKeysControl.

(Herdado de Control)
DataSource

Obtém ou define o objeto do qual o controle com limite de dados recupera sua lista de itens de dados.

(Herdado de BaseDataBoundControl)
DataSourceID

Obtém ou define a ID do controle do qual o controle associado a dados recupera sua lista de itens de dados.

(Herdado de HierarchicalDataBoundControl)
DesignMode

Obtém um valor que indica se um controle está sendo usado em uma superfície de design.

(Herdado de Control)
EnableClientScript

Obtém ou define um valor que indica se o controle TreeView renderiza o script do lado do cliente para manipular a expansão e o recolhimento de eventos.

Enabled

Obtém ou define um valor que indica se o controle do servidor Web está habilitado.

(Herdado de WebControl)
EnableTheming

Obtém ou define um valor que indica se os temas se aplicam a esse controle.

(Herdado de WebControl)
EnableViewState

Obtém ou define um valor que indica se o controle de servidor persiste seu estado de exibição e o estado de exibição de quaisquer controles filho que ele contém, para o cliente solicitante.

(Herdado de Control)
Events

Obtém uma lista de delegados de manipulador de eventos para o controle. Esta propriedade é somente para leitura.

(Herdado de Control)
ExpandDepth

Obtém ou define o número de níveis que são expandidos quando um controle TreeView é exibido pela primeira vez.

ExpandImageToolTip

Obtém ou define a dica de ferramenta para a imagem exibida para o indicador de nó expansível.

ExpandImageUrl

Obtém ou define a URL para uma imagem personalizada para o indicador de nó expansível.

Font

Obtém as propriedades de fonte associadas ao controle do servidor Web.

(Herdado de WebControl)
ForeColor

Obtém ou define a cor de primeiro plano (normalmente a cor do texto) do controle de servidor Web.

(Herdado de WebControl)
HasAttributes

Obtém um valor que indica se o controle tem atributos definidos.

(Herdado de WebControl)
HasChildViewState

Obtém um valor que indica se os controles filho do controle de servidor atual têm alguma configuração de estado de exibição salva.

(Herdado de Control)
Height

Obtém ou define a altura do controle do servidor Web.

(Herdado de WebControl)
HoverNodeStyle

Obtém uma referência ao objeto TreeNodeStyle que permite definir a aparência de um nó quando o ponteiro do mouse está posicionado sobre ele.

ID

Obtém ou define o identificador programático atribuído ao controle de servidor.

(Herdado de Control)
IdSeparator

Obtém o caractere usado para separar identificadores de controle.

(Herdado de Control)
ImageSet

Obtém ou define o grupo de imagens a serem usadas para o controle TreeView.

Initialized

Obtém um valor que indica se o controle associado a dados foi inicializado.

(Herdado de BaseDataBoundControl)
IsBoundUsingDataSourceID

Obtém um valor que indica se a propriedade DataSourceID foi definida.

(Herdado de BaseDataBoundControl)
IsChildControlStateCleared

Obtém um valor que indica se os controles contidos dentro deste controle têm estado de controle.

(Herdado de Control)
IsDataBindingAutomatic

Obtém um valor que indica se a associação de dados é automática.

(Herdado de BaseDataBoundControl)
IsEnabled

Obtém um valor que indica se o controle está habilitado.

(Herdado de WebControl)
IsTrackingViewState

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

(Herdado de Control)
IsUsingModelBinders

Quando implementada em uma classe derivada, obtém um valor que indica se o controle está usando associadores de modelos.

(Herdado de BaseDataBoundControl)
IsViewStateEnabled

Obtém um valor que indica se o estado de exibição está habilitado para esse controle.

(Herdado de Control)
LeafNodeStyle

Obtém uma referência ao objeto TreeNodeStyle que permite definir a aparência de nós folha.

LevelStyles

Obtém uma coleção de objetos Style que representam os estilos de nó nos níveis individuais da árvore.

LineImagesFolder

Obtém ou define o caminho para uma pasta que contém as imagens de linha usadas para conectar nós filho a nós pai.

LoadViewStateByID

Obtém um valor que indica se o controle participa do carregamento do estado de exibição por ID em vez do índice.

(Herdado de Control)
MaxDataBindDepth

Obtém ou define o número máximo de níveis de árvore a associar ao controle TreeView.

NamingContainer

Obtém uma referência ao contêiner de nomenclatura do controle do servidor, que cria um namespace exclusivo para diferenciar entre os controles de servidor com o mesmo valor da propriedade ID.

(Herdado de Control)
NodeIndent

Obtém ou define a quantidade de recuo (em pixels) para os nós filho do controle TreeView.

Nodes

Obtém uma coleção de objetos TreeNode que representa os nós raiz no controle TreeView.

NodeStyle

Obtém uma referência ao objeto TreeNodeStyle que permite definir a aparência padrão dos nós no controle TreeView.

NodeWrap

Obtém ou define um valor que indica se o texto é quebrado em um nó quando o nó fica sem espaço.

NoExpandImageUrl

Obtém ou define a URL para uma imagem personalizada do indicador de nó não expansível.

Page

Obtém uma referência para a instância Page que contém o controle de servidor.

(Herdado de Control)
Parent

Obtém uma referência ao controle pai do controle de servidor na hierarquia de controle da página.

(Herdado de Control)
ParentNodeStyle

Obtém uma referência ao objeto TreeNodeStyle que permite definir a aparência de nós pai no controle TreeView.

PathSeparator

Obtém ou define o caractere usado para delimitar os valores de nó especificados pela propriedade ValuePath.

PopulateNodesFromClient

Obtém ou define um valor que indica se os dados do nó são populados sob demanda do cliente.

RenderingCompatibility

Obtém um valor que especifica a versão do ASP.NET com a qual o HTML renderizado será compatível.

(Herdado de Control)
RequiresDataBinding

Obtém ou define um valor que indica se o método DataBind() deve ser cancelado.

(Herdado de BaseDataBoundControl)
RootNodeStyle

Obtém uma referência ao objeto TreeNodeStyle que permite definir a aparência de um nó raiz no controle TreeView.

SelectedNode

Obtém um objeto TreeNode que representa o nó selecionado no controle TreeView.

SelectedNodeStyle

Obtém o objeto TreeNodeStyle que controla a aparência do nó selecionado no objeto de controle TreeView.

SelectedValue

Obtém o valor do nó selecionado.

ShowCheckBoxes

Obtém ou define um valor que indica quais tipos de nós exibirão uma caixa de seleção no controle TreeView.

ShowExpandCollapse

Obtém ou define um valor que indica se os indicadores de nó de expansão são exibidos.

ShowLines

Obtém ou define um valor que indica se as linhas conectando nós filho a nós pai são exibidas.

Site

Obtém informações sobre o contêiner que hospeda o controle atual quando renderizados em uma superfície de design.

(Herdado de Control)
SkinID

Obtém ou define a capa a ser aplicada ao controle.

(Herdado de WebControl)
SkipLinkText

Obtém ou define um valor usado para renderizar o texto alternativo para leitores de tela para ignorar o conteúdo para o controle.

Style

Obtém uma coleção de atributos de texto que serão renderizados como um atributo de estilo na marca externa do controle de servidor Web.

(Herdado de WebControl)
SupportsDisabledAttribute

Obtém um valor que indica se o controle deve definir o atributo disabled do elemento HTML renderizado para "desabilitado" quando a propriedade do controle IsEnabled é false.

(Herdado de BaseDataBoundControl)
TabIndex

Obtém ou define o índice de tabulação do controle do servidor Web.

(Herdado de WebControl)
TagKey

Obtém o valor HtmlTextWriterTag para o controle TreeView.

TagName

Obtém o nome da marca de controle. Essa propriedade é usada principalmente por desenvolvedores de controle.

(Herdado de WebControl)
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ó.

TemplateControl

Obtém ou define uma referência ao modelo que contém este controle.

(Herdado de Control)
TemplateSourceDirectory

Obtém o diretório virtual do Page ou UserControl que contém o controle do servidor atual.

(Herdado de Control)
ToolTip

Obtém ou define o texto exibido quando o ponteiro do mouse passa sobre o controle de servidor Web.

(Herdado de WebControl)
UniqueID

Obtém o identificador exclusivo, qualificado segundo a hierarquia, para o controle de servidor.

(Herdado de Control)
ValidateRequestMode

Obtém ou define um valor que indica se o controle verifica a entrada do cliente do navegador para valores potencialmente perigosos.

(Herdado de Control)
ViewState

Obtém um dicionário de informações de estado que permite salvar e restaurar o estado de exibição de um controle de servidor em várias solicitações para a mesma página.

(Herdado de Control)
ViewStateIgnoresCase

Obtém um valor que indica se o objeto StateBag não diferencia maiúsculas de minúsculas.

(Herdado de Control)
ViewStateMode

Obtém ou define o modo de estado de exibição deste controle.

(Herdado de Control)
Visible

Obtém ou define um valor que indica se o controle é renderizado como a interface do usuário na página.

Width

Obtém ou define a largura do controle de servidor Web.

(Herdado de WebControl)

Métodos

AddAttributesToRender(HtmlTextWriter)

Adiciona atributos HTML e estilos que precisam ser renderizadas ao controle HtmlTextWriter especificado.

AddedControl(Control, Int32)

Chamado após um controle filho ser adicionado à coleção Controls do objeto Control.

(Herdado de Control)
AddParsedSubObject(Object)

Notifica o controle de servidor de que um elemento, XML ou HTML, foi analisado e adiciona o elemento ao objeto ControlCollection do controle de servidor.

(Herdado de Control)
ApplyStyle(Style)

Copia os elementos não vazios do estilo especificado para o controle da Web, substituindo os elementos de estilo existentes no controle. Esse método é usado principalmente por desenvolvedores de controles.

(Herdado de WebControl)
ApplyStyleSheetSkin(Page)

Aplica as propriedades de estilo definidas na folha de estilos da página ao controle.

(Herdado de Control)
BeginRenderTracing(TextWriter, Object)

Inicia o rastreamento de tempo de design de dados de renderização.

(Herdado de Control)
BuildProfileTree(String, Boolean)

Reúne informações sobre o controle de servidor e as envia para a propriedade Trace para serem exibidas quando o rastreamento está habilitado para a página.

(Herdado de Control)
ClearCachedClientID()

Define o valor ClientID armazenado em cache como null.

(Herdado de Control)
ClearChildControlState()

Exclui as informações de estado de controle para os controles filho do controle de servidor.

(Herdado de Control)
ClearChildState()

Exclui as informações de estado de exibição e de estado de controle para todos os controles filho do controle de servidor.

(Herdado de Control)
ClearChildViewState()

Exclui as informações de estado de exibição para todos os controles filho do controle de servidor.

(Herdado de Control)
ClearEffectiveClientIDMode()

Define a propriedade ClientIDMode da instância de controle atual e de quaisquer controles filho para Inherit.

(Herdado de Control)
CollapseAll()

Fecha todos os nós da árvore.

ConfirmInitState()

Define o estado inicializado do controle associado a dados.

(Herdado de BaseDataBoundControl)
CopyBaseAttributes(WebControl)

Copia as propriedades que não são encapsuladas pelo objeto Style de controle do servidor Web especificado ao controle de servidor Web do qual este método é chamado. Esse método é usado principalmente por desenvolvedores de controle.

(Herdado de WebControl)
CreateChildControls()

Chamado pela estrutura de página do ASP.NET para notificar os controles do servidor que usam a implementação baseada em composição para criar os controles filho para preparar-se para um postback ou renderização.

(Herdado de Control)
CreateControlCollection()

Cria uma coleção para armazenar controles filho.

CreateControlStyle()

Cria o objeto de estilo que é usado internamente pela classe WebControl para implementar todas as propriedades relacionadas a estilo. Esse método é usado principalmente por desenvolvedores de controle.

(Herdado de WebControl)
CreateNode()

Retorna uma nova instância da classe TreeNode. O CreateNode() é um método auxiliar.

DataBind()

Chama o método DataBind() da classe base.

DataBind(Boolean)

Associa uma fonte de dados ao controle de servidor invocado e todos os seus controles filho com uma opção para gerar o evento DataBinding.

(Herdado de Control)
DataBindChildren()

Associa uma fonte de dados aos controles filho do controle do servidor.

(Herdado de Control)
Dispose()

Permite que um controle de servidor execute a limpeza final antes do lançamento da memória.

(Herdado de Control)
EndRenderTracing(TextWriter, Object)

Encerra o rastreamento de tempo de design de dados de renderização.

(Herdado de Control)
EnsureChildControls()

Determinará se o controle de servidor contiver controles filho. Se ele não contiver, ele criará controles filho.

(Herdado de Control)
EnsureDataBound()

Chamará o método DataBind() se a propriedade DataSourceID estiver definida e o controle associado a dados estiver marcado para exigir a associação.

(Herdado de BaseDataBoundControl)
EnsureID()

Cria um identificador para controles que não têm um identificador atribuído.

(Herdado de Control)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
ExpandAll()

Abre todos os nós da árvore.

FindControl(String)

Procura o atual contêiner de nomenclatura de um controle de servidor com o parâmetro id especificado.

(Herdado de Control)
FindControl(String, Int32)

Procura o contêiner de nomenclatura atual para um controle de servidor com o id especificado e um inteiro especificado no parâmetro pathOffset, que auxilia na pesquisa. Você não deve substituir esta versão do método FindControl.

(Herdado de Control)
FindNode(String)

Recupera o objeto TreeNode no controle TreeView no caminho de valor especificado.

Focus()

Define o foco de entrada para um controle.

(Herdado de Control)
GetCallbackResult()

Retorna o resultado de um evento de retorno de chamada direcionado a um controle.

GetData(String)

Recupera um objeto HierarchicalDataSourceView que o controle com associação de dados usa para executar operações de dados.

(Herdado de HierarchicalDataBoundControl)
GetDataSource()

Recupera a IHierarchicalDataSource à qual o controle associado a dados está associado, se houver.

(Herdado de HierarchicalDataBoundControl)
GetDesignModeState()

Obtém os dados de tempo de design para um controle.

(Herdado de Control)
GetHashCode()

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

(Herdado de Object)
GetRouteUrl(Object)

Obtém a URL que corresponde a um conjunto de parâmetros de rota.

(Herdado de Control)
GetRouteUrl(RouteValueDictionary)

Obtém a URL que corresponde a um conjunto de parâmetros de rota.

(Herdado de Control)
GetRouteUrl(String, Object)

Obtém a URL que corresponde a um conjunto de parâmetros de rota e um nome de rota.

(Herdado de Control)
GetRouteUrl(String, RouteValueDictionary)

Obtém a URL que corresponde a um conjunto de parâmetros de rota e um nome de rota.

(Herdado de Control)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
GetUniqueIDRelativeTo(Control)

Retorna a parte prefixada da propriedade UniqueID do controle especificado.

(Herdado de Control)
HasControls()

Determina se o controle de servidor contém algum controle filho.

(Herdado de Control)
HasEvents()

Retorna um valor que indica se os eventos são registrados para o controle ou qualquer controle filho.

(Herdado de Control)
IsLiteralContent()

Determina se o controle de servidor contém apenas o conteúdo literal.

(Herdado de Control)
LoadControlState(Object)

Restaura informações de estado de controle de uma solicitação de página anterior que foi salva pelo método SaveControlState().

(Herdado de Control)
LoadPostData(String, NameValueCollection)

Processa dados de postback para o controle TreeView.

LoadViewState(Object)

Carrega o estado de exibição salvo anteriormente do controle TreeView.

MapPathSecure(String)

Recupera o caminho físico para o qual um caminho virtual é mapeado, relativo ou virtual.

(Herdado de Control)
MarkAsDataBound()

Define o estado do controle em estado de exibição como associado com êxito aos dados.

(Herdado de HierarchicalDataBoundControl)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
MergeStyle(Style)

Copia os elementos não vazios do estilo especificado para o controle da Web, mas não substituirá os elementos de estilo existentes do controle. Esse método é usado principalmente por desenvolvedores de controle.

(Herdado de WebControl)
OnBubbleEvent(Object, EventArgs)

Determina se o evento do controle de servidor é passado um nível acima da hierarquia de controle de servidor da interface do usuário da página.

(Herdado de Control)
OnDataBinding(EventArgs)

Aciona o evento DataBinding.

(Herdado de Control)
OnDataBound(EventArgs)

Aciona o evento DataBound.

(Herdado de BaseDataBoundControl)
OnDataPropertyChanged()

Chamado quando uma das propriedades de identificação da fonte de dados base foi alterada, para associar novamente o controle associado a dados aos seus dados.

(Herdado de HierarchicalDataBoundControl)
OnDataSourceChanged(Object, EventArgs)

Chamado quando a instância IHierarchicalDataSource com a qual o controle associado a dados trabalha gera o evento DataSourceChanged.

(Herdado de HierarchicalDataBoundControl)
OnInit(EventArgs)

Aciona o evento Init.

OnLoad(EventArgs)

Manipula o evento Load.

(Herdado de HierarchicalDataBoundControl)
OnPagePreLoad(Object, EventArgs)

Define o estado inicializado do controle associado a dados antes do carregamento do controle.

(Herdado de HierarchicalDataBoundControl)
OnPreRender(EventArgs)

Aciona o evento PreRender.

OnSelectedNodeChanged(EventArgs)

Aciona o evento SelectedNodeChanged do controle TreeView.

OnTreeNodeCheckChanged(TreeNodeEventArgs)

Aciona o evento TreeNodeCheckChanged do controle TreeView.

OnTreeNodeCollapsed(TreeNodeEventArgs)

Aciona o evento TreeNodeCollapsed do controle TreeView.

OnTreeNodeDataBound(TreeNodeEventArgs)

Aciona o evento TreeNodeDataBound do controle TreeView.

OnTreeNodeExpanded(TreeNodeEventArgs)

Aciona o evento TreeNodeExpanded do controle TreeView.

OnTreeNodePopulate(TreeNodeEventArgs)

Aciona o evento TreeNodePopulate do controle TreeView.

OnUnload(EventArgs)

Aciona o evento Unload.

(Herdado de Control)
OpenFile(String)

Obtém um Stream usado para ler um arquivo.

(Herdado de Control)
PerformDataBinding()

Cria todos os nós com base na fonte de dados.

PerformSelect()

Recupera dados da fonte de dados associada.

(Herdado de HierarchicalDataBoundControl)
RaiseBubbleEvent(Object, EventArgs)

Atribui quaisquer fontes de evento e suas informações para o pai do controle.

(Herdado de Control)
RaiseCallbackEvent(String)

Aciona o evento de retorno de chamada usando os argumentos especificados.

RaisePostBackEvent(String)

Permite que o controle TreeView processe um evento gerado quando um formulário é enviado ao servidor. O RaisePostBackEvent(String) é um método auxiliar para o método ICallbackEventHandler.RaiseCallbackEvent(String).

RaisePostDataChangedEvent()

Sinaliza o controle TreeView para notificar o aplicativo ASP.NET de que o estado do controle mudou.

RemovedControl(Control)

Chamado após um controle filho ser removido da coleção Controls do objeto Control.

(Herdado de Control)
Render(HtmlTextWriter)

Renderiza o controle para o gravador de HTML especificado.

(Herdado de WebControl)
RenderBeginTag(HtmlTextWriter)

Renderiza a marca de abertura HTML do controle para o gravador especificado.

RenderChildren(HtmlTextWriter)

Gera o conteúdo dos filhos de um controle de servidor para um objeto HtmlTextWriter fornecido, que grava o conteúdo a ser renderizado no cliente.

(Herdado de Control)
RenderContents(HtmlTextWriter)

Renderiza os nós no controle TreeView.

RenderControl(HtmlTextWriter)

Gera o conteúdo do controle de servidor para um objeto HtmlTextWriter fornecido e armazena informações de rastreamento sobre o controle caso o rastreamento esteja habilitado.

(Herdado de Control)
RenderControl(HtmlTextWriter, ControlAdapter)

Gera o conteúdo do controle de servidor a um objeto HtmlTextWriter fornecido usando um objeto ControlAdapter fornecido.

(Herdado de Control)
RenderEndTag(HtmlTextWriter)

Renderiza a marca de fechamento HTML do controle para o gravador especificado.

ResolveAdapter()

Obtém o adaptador de controle responsável por renderizar o controle especificado.

(Herdado de Control)
ResolveClientUrl(String)

Obtém uma URL que pode ser usada pelo navegador.

(Herdado de Control)
ResolveUrl(String)

Converte uma URL em uma que possa ser usada no cliente solicitante.

(Herdado de Control)
SaveControlState()

Salva as alterações de estado do controle de servidor que ocorreram desde a hora em que ocorreu o postback da página no servidor.

(Herdado de Control)
SaveViewState()

Salva o estado do controle TreeView.

SetDesignModeState(IDictionary)

Define os dados de tempo de design para um controle.

(Herdado de Control)
SetNodeDataBound(TreeNode, Boolean)

Permite que uma classe derivada defina se o controle TreeNode especificado é associado a dados.

SetNodeDataItem(TreeNode, Object)

Permite que uma classe derivada defina o item de dados para o controle TreeNode especificado.

SetNodeDataPath(TreeNode, String)

Permite que uma classe derivada defina o caminho de dados para o controle TreeNode especificado.

SetRenderMethodDelegate(RenderMethod)

Atribui um delegado do manipulador de eventos para renderizar o controle de servidor e seu conteúdo em seu controle pai.

(Herdado de Control)
SetTraceData(Object, Object)

Define os dados de rastreamento para o rastreamento de tempo de design dos dados de renderização, usando a chave e o valor de dados de rastreamento.

(Herdado de Control)
SetTraceData(Object, Object, Object)

Define os dados de rastreamento para o rastreamento de tempo de design dos dados de renderização, usando o objeto rastreado, a chave e o valor de dados de rastreamento.

(Herdado de Control)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)
TrackViewState()

Controla as alterações de estado de exibição no controle TreeView, de modo que possam ser armazenadas no objeto StateBag para o controle. Esse ViewState está acessível por meio da propriedade StateBag.

ValidateDataSource(Object)

Verifica se o objeto ao qual um controle associado a dados está associado é um objeto com o qual ele pode trabalhar.

(Herdado de HierarchicalDataBoundControl)

Eventos

DataBinding

Ocorre quando o controle de servidor é associado a uma fonte de dados.

(Herdado de Control)
DataBound

Ocorre após o controle de servidor ser associado a uma fonte de dados.

(Herdado de BaseDataBoundControl)
Disposed

Ocorre quando um controle de servidor é liberado da memória, que é o último estágio do ciclo de vida de controle de servidor quando uma página ASP.NET é solicitada.

(Herdado de Control)
Init

Ocorre quando o controle de servidor é inicializado, que é a primeira etapa do ciclo de vida.

(Herdado de Control)
Load

Ocorre quando o controle de servidor é carregado no objeto Page.

(Herdado de Control)
PreRender

Ocorre depois que o objeto Control é carregado, mas antes da renderização.

(Herdado de Control)
SelectedNodeChanged

Ocorre quando um nó é selecionado no controle TreeView.

TreeNodeCheckChanged

Ocorre quando uma caixa de seleção no controle TreeView muda de estado entre as postagens para o servidor.

TreeNodeCollapsed

Ocorre quando um nó é recolhido no controle TreeView.

TreeNodeDataBound

Ocorre quando um item de dados é associado a um nó no controle de TreeView.

TreeNodeExpanded

Ocorre quando um nó é expandido no controle TreeView.

TreeNodePopulate

Ocorre quando um nó com a propriedade PopulateOnDemand definida como true está expandida no controle TreeView.

Unload

Ocorre quando o controle de servidor é descarregado da memória.

(Herdado de Control)

Implantações explícitas de interface

IAttributeAccessor.GetAttribute(String)

Obtém um atributo do controle da Web com o nome especificado.

(Herdado de WebControl)
IAttributeAccessor.SetAttribute(String, String)

Define um atributo do controle da Web para o nome e o valor especificados.

(Herdado de WebControl)
ICallbackEventHandler.GetCallbackResult()

Retorna o resultado de um evento de retorno de chamada direcionado a um controle.

ICallbackEventHandler.RaiseCallbackEvent(String)

Aciona o evento de retorno de chamada usando os argumentos especificados.

IControlBuilderAccessor.ControlBuilder

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

(Herdado de Control)
IControlDesignerAccessor.GetDesignModeState()

Para obter uma descrição desse membro, confira GetDesignModeState().

(Herdado de Control)
IControlDesignerAccessor.SetDesignModeState(IDictionary)

Para obter uma descrição desse membro, confira SetDesignModeState(IDictionary).

(Herdado de Control)
IControlDesignerAccessor.SetOwnerControl(Control)

Para obter uma descrição desse membro, confira SetOwnerControl(Control).

(Herdado de Control)
IControlDesignerAccessor.UserData

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

(Herdado de Control)
IDataBindingsAccessor.DataBindings

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

(Herdado de Control)
IDataBindingsAccessor.HasDataBindings

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

(Herdado de Control)
IExpressionsAccessor.Expressions

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

(Herdado de Control)
IExpressionsAccessor.HasExpressions

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

(Herdado de Control)
IParserAccessor.AddParsedSubObject(Object)

Para obter uma descrição desse membro, confira AddParsedSubObject(Object).

(Herdado de Control)
IPostBackDataHandler.LoadPostData(String, NameValueCollection)

Processa dados de postback para o controle TreeView.

IPostBackDataHandler.RaisePostDataChangedEvent()

Sinaliza o controle TreeView para notificar o aplicativo ASP.NET de que o estado do controle mudou.

IPostBackEventHandler.RaisePostBackEvent(String)

Permite que o controle TreeView processe um evento gerado quando um formulário é enviado ao servidor.

Métodos de Extensão

EnablePersistedSelection(BaseDataBoundControl)
Obsoleto.

Permite que a seleção seja persistida nos controles de dados que dão suporte à seleção e à paginação.

FindDataSourceControl(Control)

Retorna a fonte de dados associada ao controle de dados do controle especificado.

FindFieldTemplate(Control, String)

Retorna o modelo do campo para a coluna especificada no contêiner de nomenclatura do controle especificado.

FindMetaTable(Control)

Retorna o objeto metatable para o controle que contém dados.

Aplica-se a

Confira também