Compartilhar via


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 TreeView controle para navegação no site associando-o 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 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>

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 TreeView controle para navegação no site associando-o 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 no 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, preencher 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 seleção 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 EnableClientScript é definido como true. UpdatePanel os controles são usados para atualizar as 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 Partial-Page visão geral da renderização.

Nodes

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 um nó raiz, filho ou folha.

Embora uma estrutura de árvore típica tenha apenas um nó raiz, o TreeView controle permite adicionar 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 quaisquer 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 caracteres 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 dados TreeView 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 é automaticamente associado ao controle de fonte de dados especificado. Esse é o método preferencial para associar a 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á vinculando. 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 TreeView controle dá suporte à 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 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 do 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 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á as 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 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 que você exiba uma caixa de seleção ao lado de um nó. Quando a ShowCheckBoxes propriedade é definida como um valor diferente TreeNodeTypes.None, as caixas de seleção 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 as caixas de seleção são exibidas, você pode usar o TreeNodeCheckChanged evento para executar uma rotina personalizada sempre que o estado de uma caixa de seleção for alterado entre postagens no servidor.

Eventos

O TreeView controle fornece vários eventos nos 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.

Acontecimento Descrição
TreeNodeCheckChanged Ocorre quando as caixas de seleção do controle alteram o TreeView estado entre postagens no servidor.
SelectedNodeChanged Ocorre quando um nó é selecionado no TreeView controle.
TreeNodeExpanded Ocorre quando um nó é expandido no TreeView controle.
TreeNodeCollapsed Ocorre quando um nó é recolhido no TreeView controle.
TreeNodePopulate Ocorre quando um nó com sua PopulateOnDemand propriedade definida para true ser expandido no TreeView controle.
TreeNodeDataBound Ocorre quando um item de dados é associado a um nó no TreeView controle.

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.

Accessibility

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 ASP.NET Controles 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

Nome Description
TreeView()

Inicializa uma nova instância da classe TreeView.

Propriedades

Nome Description
AccessKey

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

(Herdado de WebControl)
Adapter

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

(Herdado de Control)
AppRelativeTemplateSourceDirectory

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

(Herdado de Control)
Attributes

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

(Herdado de WebControl)
AutoGenerateDataBindings

Obtém ou define um valor que indica se o TreeView controle gera automaticamente 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 associaçã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 do servidor Web.

(Herdado de WebControl)
BorderWidth

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

(Herdado de WebControl)
CheckedNodes

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

ChildControlsCreated

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

(Herdado de Control)
ClientID

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

(Herdado de Control)
ClientIDMode

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

(Herdado de Control)
ClientIDSeparator

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

(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 como uma imagem personalizada para o indicador de nó recolhível.

Context

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

(Herdado de Control)
Controls

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

(Herdado de Control)
ControlStyle

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

(Herdado de WebControl)
ControlStyleCreated

Obtém um valor que indica se um Style objeto foi criado para a ControlStyle propriedade. 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á associando.

DataItemContainer

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

(Herdado de Control)
DataKeysContainer

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

(Herdado de Control)
DataSource

Obtém ou define o objeto do qual o controle associado a 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 renderiza o TreeView script do lado do cliente para lidar com eventos de expansão e recolhimento.

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 do servidor persiste seu estado de exibição e o estado de exibição de todos os controles filho que ele contém, para o cliente solicitante.

(Herdado de Control)
Events

Obtém uma lista de representantes do 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 TreeView controle é 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 como 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 do primeiro plano (normalmente a cor do texto) do controle do 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 do servidor atual têm configurações de estado de exibição salvas.

(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 TreeNodeStyle objeto que permite definir a aparência de um nó quando o ponteiro do mouse é posicionado sobre ele.

ID

Obtém ou define o identificador programático atribuído ao controle do 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 TreeView controle.

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 DataSourceID propriedade está definida.

(Herdado de BaseDataBoundControl)
IsChildControlStateCleared

Obtém um valor que indica se os controles contidos nesse 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 do servidor está salvando alterações em seu estado de exibição.

(Herdado de Control)
IsUsingModelBinders

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

(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 TreeNodeStyle objeto que permite definir a aparência dos nós folha.

LevelStyles

Obtém uma coleção de Style objetos 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 no carregamento de seu estado de exibição ID em vez de índice.

(Herdado de Control)
MaxDataBindDepth

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

NamingContainer

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

(Herdado de Control)
NodeIndent

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

Nodes

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

NodeStyle

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

NodeWrap

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

NoExpandImageUrl

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

Page

Obtém uma referência à Page instância que contém o controle do servidor.

(Herdado de Control)
Parent

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

(Herdado de Control)
ParentNodeStyle

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

PathSeparator

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

PopulateNodesFromClient

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

RenderingCompatibility

Obtém um valor que especifica a versão 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 DataBind() método deve ser chamado.

(Herdado de BaseDataBoundControl)
RootNodeStyle

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

SelectedNode

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

SelectedNodeStyle

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

SelectedValue

Obtém o valor do nó selecionado.

ShowCheckBoxes

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

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 que conectam 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 renderizado em uma superfície de design.

(Herdado de Control)
SkinID

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

(Herdado de WebControl)
SkipLinkText

Obtém ou define um valor usado para renderizar texto alternativo para leitores de tela ignorarem o conteúdo do 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 do servidor Web.

(Herdado de WebControl)
SupportsDisabledAttribute

Obtém um valor que indica se o controle deve definir o disabled atributo do elemento HTML renderizado como "desabilitado" quando a propriedade do IsEnabled controle é 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 HtmlTextWriterTag valor do TreeView controle.

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 de destino ou o quadro no qual exibir 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 esse controle.

(Herdado de Control)
TemplateSourceDirectory

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

(Herdado de Control)
ToolTip

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

(Herdado de WebControl)
UniqueID

Obtém o identificador exclusivo e hierarquicamente qualificado para o controle do servidor.

(Herdado de Control)
ValidateRequestMode

Obtém ou define um valor que indica se o controle verifica a entrada do cliente do navegador em busca de 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 StateBag objeto não diferencia maiúsculas de minúsculas.

(Herdado de Control)
ViewStateMode

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

(Herdado de Control)
Visible

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

Width

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

(Herdado de WebControl)

Métodos

Nome Description
AddAttributesToRender(HtmlTextWriter)

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

AddedControl(Control, Int32)

Chamado depois que um controle filho é adicionado à Controls coleção do Control objeto.

(Herdado de Control)
AddParsedSubObject(Object)

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

(Herdado de Control)
ApplyStyle(Style)

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

(Herdado de WebControl)
ApplyStyleSheetSkin(Page)

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

(Herdado de Control)
BeginRenderTracing(TextWriter, Object)

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

(Herdado de Control)
BuildProfileTree(String, Boolean)

Coleta informações sobre o controle do servidor e o Trace entrega na propriedade a ser exibida quando o rastreamento está habilitado para a página.

(Herdado de Control)
ClearCachedClientID()

Define o valor armazenado em ClientID cache como null.

(Herdado de Control)
ClearChildControlState()

Exclui as informações de estado de controle para os controles filho do controle do 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 do servidor.

(Herdado de Control)
ClearChildViewState()

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

(Herdado de Control)
ClearEffectiveClientIDMode()

Define a ClientIDMode propriedade da instância de controle atual e de qualquer controle filho como Inherit.

(Herdado de Control)
CollapseAll()

Fecha cada nó na árvore.

ConfirmInitState()

Define o estado inicializado do controle associado a dados.

(Herdado de BaseDataBoundControl)
CopyBaseAttributes(WebControl)

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

(Herdado de WebControl)
CreateChildControls()

Chamado pela estrutura de página ASP.NET para notificar os controles de servidor que usam a implementação baseada em composição para criar quaisquer controles filho que eles contenham em preparação para postar de volta 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 WebControl classe para implementar todas as propriedades relacionadas ao estilo. Esse método é usado principalmente por desenvolvedores de controle.

(Herdado de WebControl)
CreateNode()

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

DataBind()

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

DataBind(Boolean)

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

(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 de ser liberado da memória.

(Herdado de Control)
EndRenderTracing(TextWriter, Object)

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

(Herdado de Control)
EnsureChildControls()

Determina se o controle do servidor contém controles filho. Se isso não acontecer, ele criará controles filho.

(Herdado de Control)
EnsureDataBound()

Chama o DataBind() método se a DataSourceID propriedade estiver definida e o controle associado a dados for marcado para exigir 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 cada nó na árvore.

FindControl(String, Int32)

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

(Herdado de Control)
FindControl(String)

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

(Herdado de Control)
FindNode(String)

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

Focus()

Define o foco de entrada como um controle.

(Herdado de Control)
GetCallbackResult()

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

GetData(String)

Recupera um HierarchicalDataSourceView objeto que o controle associado a dados usa para executar operações de dados.

(Herdado de HierarchicalDataBoundControl)
GetDataSource()

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

(Herdado de HierarchicalDataBoundControl)
GetDesignModeState()

Obtém 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 UniqueID propriedade do controle especificado.

(Herdado de Control)
HasControls()

Determina se o controle do servidor contém controles filho.

(Herdado de Control)
HasEvents()

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

(Herdado de Control)
IsLiteralContent()

Determina se o controle do servidor contém apenas 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 SaveControlState() método.

(Herdado de Control)
LoadPostData(String, NameValueCollection)

Processa dados de postback para o TreeView controle.

LoadViewState(Object)

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

MapPathSecure(String)

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

(Herdado de Control)
MarkAsDataBound()

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

(Herdado de HierarchicalDataBoundControl)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
MergeStyle(Style)

Copia todos os elementos nãoblank do estilo especificado para o controle da Web, mas não substituirá nenhum elemento de estilo existente do controle. Esse método é usado principalmente por desenvolvedores de controle.

(Herdado de WebControl)
OnBubbleEvent(Object, EventArgs)

Determina se o evento para o controle do servidor é passado para a hierarquia de controle do servidor de 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 é alterada, para associar novamente o controle associado a dados a seus dados.

(Herdado de HierarchicalDataBoundControl)
OnDataSourceChanged(Object, EventArgs)

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

(Herdado de HierarchicalDataBoundControl)
OnInit(EventArgs)

Aciona o evento Init.

OnLoad(EventArgs)

Manipula o Load evento.

(Herdado de HierarchicalDataBoundControl)
OnPagePreLoad(Object, EventArgs)

Define o estado inicializado do controle associado a dados antes que o controle seja carregado.

(Herdado de HierarchicalDataBoundControl)
OnPreRender(EventArgs)

Aciona o evento PreRender.

OnSelectedNodeChanged(EventArgs)

Gera o SelectedNodeChanged evento do TreeView controle.

OnTreeNodeCheckChanged(TreeNodeEventArgs)

Gera o TreeNodeCheckChanged evento do TreeView controle.

OnTreeNodeCollapsed(TreeNodeEventArgs)

Gera o TreeNodeCollapsed evento do TreeView controle.

OnTreeNodeDataBound(TreeNodeEventArgs)

Gera o TreeNodeDataBound evento do TreeView controle.

OnTreeNodeExpanded(TreeNodeEventArgs)

Gera o TreeNodeExpanded evento do TreeView controle.

OnTreeNodePopulate(TreeNodeEventArgs)

Gera o TreeNodePopulate evento do TreeView controle.

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 todas as fontes do evento e suas informações ao pai do controle.

(Herdado de Control)
RaiseCallbackEvent(String)

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

RaisePostBackEvent(String)

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

RaisePostDataChangedEvent()

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

RemovedControl(Control)

Chamado depois que um controle filho é removido da Controls coleção do Control objeto.

(Herdado de Control)
Render(HtmlTextWriter)

Renderiza o controle para o gravador 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 fornecido HtmlTextWriter , que grava o conteúdo a ser renderizado no cliente.

(Herdado de Control)
RenderContents(HtmlTextWriter)

Renderiza os nós no TreeView controle.

RenderControl(HtmlTextWriter, ControlAdapter)

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

(Herdado de Control)
RenderControl(HtmlTextWriter)

O servidor de saída controla o conteúdo de um objeto fornecido HtmlTextWriter e armazena informações de rastreamento sobre o controle se o rastreamento estiver habilitado.

(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 é utilizável no cliente solicitante.

(Herdado de Control)
SaveControlState()

Salva as alterações de estado do controle do servidor que ocorreram desde o momento em que a página foi postada de volta no servidor.

(Herdado de Control)
SaveViewState()

Salva o estado do TreeView controle.

SetDesignModeState(IDictionary)

Define dados de tempo de design para um controle.

(Herdado de Control)
SetNodeDataBound(TreeNode, Boolean)

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

SetNodeDataItem(TreeNode, Object)

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

SetNodeDataPath(TreeNode, String)

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

SetRenderMethodDelegate(RenderMethod)

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

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

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

(Herdado de Control)
SetTraceData(Object, Object)

Define dados de rastreamento para rastreamento em tempo de design de dados de renderização, usando a chave de dados de rastreamento e o valor dos 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 TreeView controle para que elas possam ser armazenadas no StateBag objeto do controle. Isso StateBag é acessível por meio da ViewState propriedade.

ValidateDataSource(Object)

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

(Herdado de HierarchicalDataBoundControl)

Eventos

Nome Description
DataBinding

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

(Herdado de Control)
DataBound

Ocorre depois que o controle do servidor é 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 do controle do servidor quando uma página ASP.NET é solicitada.

(Herdado de Control)
Init

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

(Herdado de Control)
Load

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

(Herdado de Control)
PreRender

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

(Herdado de Control)
SelectedNodeChanged

Ocorre quando um nó é selecionado no TreeView controle.

TreeNodeCheckChanged

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

TreeNodeCollapsed

Ocorre quando um nó é recolhido no TreeView controle.

TreeNodeDataBound

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

TreeNodeExpanded

Ocorre quando um nó é expandido no TreeView controle.

TreeNodePopulate

Ocorre quando um nó com sua PopulateOnDemand propriedade definida para true ser expandido no TreeView controle.

Unload

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

(Herdado de Control)

Implantações explícitas de interface

Nome Description
IAttributeAccessor.GetAttribute(String)

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

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

Define um atributo do controle Web como 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)

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

IControlBuilderAccessor.ControlBuilder

Para obter uma descrição deste membro, consulte ControlBuilder.

(Herdado de Control)
IControlDesignerAccessor.GetDesignModeState()

Para obter uma descrição deste membro, consulte GetDesignModeState().

(Herdado de Control)
IControlDesignerAccessor.SetDesignModeState(IDictionary)

Para obter uma descrição deste membro, consulte SetDesignModeState(IDictionary).

(Herdado de Control)
IControlDesignerAccessor.SetOwnerControl(Control)

Para obter uma descrição deste membro, consulte SetOwnerControl(Control).

(Herdado de Control)
IControlDesignerAccessor.UserData

Para obter uma descrição deste membro, consulte UserData.

(Herdado de Control)
IDataBindingsAccessor.DataBindings

Para obter uma descrição deste membro, consulte DataBindings.

(Herdado de Control)
IDataBindingsAccessor.HasDataBindings

Para obter uma descrição deste membro, consulte HasDataBindings.

(Herdado de Control)
IExpressionsAccessor.Expressions

Para obter uma descrição deste membro, consulte Expressions.

(Herdado de Control)
IExpressionsAccessor.HasExpressions

Para obter uma descrição deste membro, consulte HasExpressions.

(Herdado de Control)
IParserAccessor.AddParsedSubObject(Object)

Para obter uma descrição deste membro, consulte AddParsedSubObject(Object).

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

Processa dados de postback para o TreeView controle.

IPostBackDataHandler.RaisePostDataChangedEvent()

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

IPostBackEventHandler.RaisePostBackEvent(String)

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

Métodos de Extensão

Nome Description
EnablePersistedSelection(BaseDataBoundControl)
Obsoleto.

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

FindDataSourceControl(Control)

Retorna a fonte de dados associada ao controle de dados para o controle especificado.

FindFieldTemplate(Control, String)

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

FindMetaTable(Control)

Retorna o objeto metatável para o controle de dados que contém.

Aplica-se a

Confira também