TreeView Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Apresenta dados hierárquicos, como um índice, numa estrutura em á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 secção contém sete exemplos de código:
O primeiro exemplo de código demonstra como configurar os frames para o segundo exemplo de código.
O segundo exemplo de código demonstra como usar a sintaxe declarativa para mostrar dados estáticos no TreeView controlo.
O terceiro exemplo de código demonstra como associar o TreeView controlo 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 controlo para navegação no local, vinculando-o a um SiteMapDataSource controlo.
O sexto exemplo de código fornece dados de mapa de sítios de exemplo para o quinto exemplo de código.
O sétimo exemplo de código demonstra como preencher os nós no TreeView controlo a partir do cliente.
O exemplo de código seguinte demonstra como configurar os frames para o seguinte exemplo de código.
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>TreeView Frameset Example</title>
</head>
<frameset cols="30%, 75%">
<frame title="MenuFrame" name="Menu" src="TreeViewFramecs.aspx"/>
<frame title="ContentFrame" name="Content" src="Home.aspx"/>
</frameset>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>TreeView Frameset Example</title>
</head>
<frameset cols="30%, 75%">
<frame title="MenuFrame" name="Menu" src="TreeViewFramevb.aspx"/>
<frame title="ContentFrame" name="Content" src="Home.aspx"/>
</frameset>
</html>
O exemplo de código seguinte demonstra como usar a sintaxe declarativa para mostrar dados estáticos no TreeView controlo. Este exemplo é usado dentro do conjunto de frames do exemplo anterior para apresentar um índice.
<%@ 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 seguinte demonstra como vincular o TreeView controlo a uma fonte de dados XML. Para que este exemplo funcione corretamente, deve copiar os dados XML de amostra, fornecidos após este exemplo de código, para um ficheiro 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 seguinte 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 seguinte demonstra como usar o TreeView controlo para navegação no local, vinculando-o a um SiteMapDataSource controlo. Para que este exemplo funcione corretamente, deve copiar os dados do mapa do local de exemplo, fornecidos após este exemplo de código, para um ficheiro 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 seguinte fornece dados de mapa de sítios 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 seguinte demonstra como preencher os nós no TreeView controlo a partir do cliente. Quando a população de nós do lado do cliente está ativada, os nós são preenchidos dinamicamente no cliente, sem necessidade de publicar de volta para o 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>
Observações
Neste tópico:
Introduction
O TreeView controlo é usado para exibir dados hierárquicos, como um índice ou diretório de ficheiros, numa estrutura em árvore e suporta as seguintes funcionalidades:
Ligação de dados que permite que os nós do controlo sejam ligados a dados XML, tabulares ou relacionais.
Navegação do local através da integração com o SiteMapDataSource controlo.
Texto do nó que pode ser apresentado tanto como texto simples como hiperligações.
Acesso programático ao TreeView modelo de objetos para criar árvores, povoar nós, definir propriedades e assim por diante dinamicamente.
População de nós do lado do cliente (em navegadores suportados).
A capacidade de mostrar uma caixa de seleção ao lado de cada nó.
Aparência personalizável através de temas, imagens definidas pelo utilizador e estilos.
Note
O TreeView controlo é concebido para ser usado dentro de um UpdatePanel controlo apenas quando EnableClientScript está definido para
true. UpdatePanel Os controlos são usados para atualizar regiões selecionadas de uma página em vez de atualizar toda a página com um postback. Para mais informações, consulte Visão Geral de Controlo do Painel de Atualização e Partial-Page Visão Geral de Renderização.
Nodes
O TreeView controlo é composto por nós. Cada entrada na árvore é chamada de nó e é representada por um TreeNode objeto. Os tipos de nós são definidos da seguinte forma:
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 chama-se 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 tanto pai como filho, mas os nós raiz, pai e folha são mutuamente exclusivos. Várias propriedades visuais e comportamentais dos nós são determinadas por se um nó é raiz, filho ou nó folha.
Embora uma estrutura típica em árvore tenha apenas um nó raiz, o TreeView controlo permite-lhe adicionar múltiplos nós raiz à sua estrutura de árvore. Isto é útil quando se pretende mostrar listagens de itens sem apresentar um único nó raiz, como numa lista de categorias de produtos.
Cada nó tem uma Text propriedade e uma propriedade Value . 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 dois modos: modo de seleção e modo de navegação. Por defeito, um nó está em modo de seleção. Para colocar um nó em modo de navegação, defina a NavigateUrl propriedade do nó para um valor diferente de uma cadeia vazia (""). Para colocar um nó em modo de seleção, defina a NavigateUrl propriedade para o nó como uma cadeia vazia ("").
Note
Alguns navegadores de Internet têm uma limitação que pode afetar o desempenho do TreeView controlo. Por exemplo, Microsoft Internet Explorer 6.0 tem um limite de caracteres URL de 2067 caracteres que publica. Se o número de caracteres numa URL de um nó for superior a esse número, expandir esse nó falhará e não será lançada nenhuma exceção.
Dados estáticos
O modelo de dados mais simples do TreeView controlo são dados estáticos. Para exibir dados estáticos usando sintaxe declarativa, primeiro as etiquetas de abertura e fechamento <Nodes> de aninhamento entre as etiquetas de abertura e fecho do TreeView controlo. De seguida, crie a estrutura em árvore aninhando <asp:TreeNode> elementos entre as etiquetas de abertura e fecho <Nodes> . Cada <asp:TreeNode> elemento representa um nó na árvore e mapeia para um TreeNode objeto. Podes definir as propriedades de cada nó definindo os atributos do seu <asp:TreeNode> elemento. Para criar nós filhos, aninhe elementos adicionais <asp:TreeNode> entre as etiquetas de abertura e fecho <asp:TreeNode> do nó pai.
Ligação a Dados
O TreeView controlo também pode estar ligado a dados. Pode usar um de dois métodos para associar o TreeView controlo ao tipo de fonte de dados apropriado:
O TreeView controlo pode usar qualquer controlo de fonte de dados que implemente a IHierarchicalDataSource interface, como um XmlDataSource controlo ou um SiteMapDataSource controlo. Para ligar a um controlo de fonte de dados, defina a DataSourceID propriedade do TreeView controlo para o ID valor do controlo de fonte de dados. O TreeView controlo liga-se automaticamente ao controlo de fonte de dados especificado. Este é o método preferido para vincular dados.
O TreeView controlo também pode ser ligado a um XmlDocument objeto ou a um DataSet objeto com relações. Para ligar a uma destas fontes de dados, defina a DataSource propriedade do TreeView controlo para a fonte de dados e depois chame o DataBind método.
Ao ligar a uma fonte de dados onde cada elemento contém múltiplas propriedades (como um elemento XML com vários atributos), um nó apresenta o valor que é devolvido pelo ToString método do elemento de dados, por defeito. No caso de um elemento XML, o nó apresenta o nome do elemento, que mostra a estrutura subjacente da árvore, mas não é muito útil de outra forma. Pode associar um nó a uma propriedade específica de um elemento de dados especificando ligações de nós em árvore usando a DataBindings coleção. A DataBindings coleção contém TreeNodeBinding objetos que definem a relação entre um elemento de dados e o nó ao qual este está ligado. Pode especificar os critérios de ligação e a propriedade do elemento de dados a mostrar no nó. Para mais informações sobre ligações de nós em árvore, veja TreeNodeBinding.
Importante
Um utilizador malicioso pode criar um pedido de callback e obter dados para os nós do TreeView controlo que o programador da página não está a mostrar. Portanto, a segurança dos dados deve ser implementada pela fonte de dados. Não uses a MaxDataBindDepth propriedade para esconder dados.
População dinâmica de nós
Por vezes, não é prático definir estaticamente a estrutura da árvore porque a fonte de dados devolve demasiados dados ou porque os dados a mostrar dependem da informação que se obtém em tempo de execução. Por causa disso, o controlo TreeView suporta a população dinâmica de nós. Quando a PopulateOnDemand propriedade de um nó é definida para true, esse nó é preenchido em tempo de execução quando o nó é expandido. Para povoar um nó dinamicamente, deve definir um método de gestão de eventos que contenha a lógica para preencher um nó para o TreeNodePopulate evento.
Navegadores que suportam scripts de callback também podem tirar partido da população de nós do lado do cliente. (Isto inclui o Internet Explorer 5.5 e posteriores, bem como alguns outros navegadores.) A população de nós do lado do cliente permite que o controlo TreeView preencha um nó usando o script cliente quando os utilizadores expandem o nó, sem necessidade de uma ida e volta até ao servidor. Para mais informações sobre a população de nós do lado do cliente, veja PopulateNodesFromClient.
Personalização da Interface do Utilizador
Existem muitas formas de personalizar a aparência do TreeView controlo. Primeiro, pode especificar um estilo diferente (como tamanho e cor da fonte) para cada tipo de nós.
Se usar folhas de estilo em cascata (CSS) para personalizar a aparência do controlo, use estilos em linha ou um ficheiro CSS separado, mas não ambos. Usar ambos os estilos inline e um ficheiro CSS separado pode causar resultados inesperados. Para mais informações sobre o uso de folhas de estilo com controlos, consulte Controlos de Servidor Web e Estilos CSS.
A tabela seguinte lista os estilos de nós disponíveis.
| Propriedade de estilo de nó | Description |
|---|---|
| HoverNodeStyle | As definições de estilo para um nó quando o ponteiro do rato está posicionado sobre ele. |
| LeafNodeStyle | As definições de estilo para os nós folha. |
| NodeStyle | As definições de estilo padrão para um nó. |
| ParentNodeStyle | As definições de estilo para os nós pais. |
| RootNodeStyle | As definições de estilo para o nó raiz. |
| SelectedNodeStyle | As definições de estilo para um nó selecionado. |
Também pode controlar o estilo dos 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 sucessivamente. Isto é mais frequentemente usado para gerar menus de navegação ao estilo de índice, onde nós a certa profundidade devem ter a mesma aparência, independentemente de terem ou não nós filhos.
Note
Se um estilo for definido para um certo nível de profundidade usando a LevelStyles coleção, esse estilo sobrepõe-se a quaisquer definições de estilo raiz, pai ou folha para os nós dessa profundidade.
Outra forma de alterar a aparência do controlo é personalizar as imagens que são exibidas no TreeView controlo. Pode especificar o seu próprio conjunto personalizado de imagens para as diferentes partes do controlo, definindo as propriedades mostradas na tabela seguinte.
| Propriedade da imagem | Description |
|---|---|
| CollapseImageUrl | O URL para uma imagem exibida para o indicador do nó colapsável. Esta imagem é geralmente um sinal menos (-). |
| ExpandImageUrl | O URL de uma imagem exibida para o indicador de nó expansível. Esta imagem é normalmente um sinal de mais (+). |
| LineImagesFolder | O URL da pasta que contém as imagens das linhas é usado para ligar os nós pais aos nós filhos. A ShowLines propriedade também deve estar definida para true que esta propriedade tenha efeito. |
| NoExpandImageUrl | O URL de uma imagem mostrada para o indicador de nó não expansível. |
Note
Não precisa de personalizar todas as propriedades da imagem. Se uma propriedade de imagem não estiver explicitamente definida, é usada a imagem predefinida incorporada.
O TreeView controlo também permite mostrar uma caixa de seleção ao lado de um nó. Quando a ShowCheckBoxes propriedade é definida para um valor diferente de TreeNodeTypes.None, caixas de seleção são exibidas ao lado dos tipos de nós especificados.
Note
A ShowCheckBoxes propriedade pode ser definida para uma combinação bit a bit dos valores dos TreeNodeTypes membros da enumeração.
Cada vez que a página é publicada no servidor, a CheckedNodes coleção é automaticamente preenchida com os nós selecionados. Quando as caixas de seleção são exibidas, pode usar o TreeNodeCheckChanged evento para executar uma rotina personalizada sempre que o estado de uma caixa de seleção mudar entre publicações no servidor.
Events
O TreeView controlo oferece vários eventos contra os quais pode programar. Isto permite-lhe executar uma rotina personalizada sempre que ocorre um evento. A tabela seguinte lista os eventos suportados pelo TreeView controlo.
| Event | Description |
|---|---|
| TreeNodeCheckChanged | Ocorre quando as caixas de seleção do TreeView controlo mudam de estado entre publicações para o servidor. |
| SelectedNodeChanged | Ocorre quando um nó é selecionado no TreeView controlo. |
| TreeNodeExpanded | Ocorre quando um nó é expandido no TreeView controlo. |
| TreeNodeCollapsed | Ocorre quando um nó é colapsado no TreeView controlo. |
| TreeNodePopulate | Ocorre quando um nó com a PopulateOnDemand sua propriedade definida como true é expandido no TreeView controlo. |
| TreeNodeDataBound | Ocorre quando um elemento de dados está ligado a um nó no TreeView controlo. |
Rolagem
O TreeView controlo não tem scroll incorporado. Para adicionar scrolling, coloca o TreeView controlo num Panel controlo e adiciona barras de scroll ao controlo Panel . Para mais informações, consulte Visão Geral do Controlo do Servidor Web do Painel.
Accessibility
A marcação renderizada por defeito para este controlo pode não estar em conformidade com os padrões de acessibilidade. Para detalhes sobre o suporte de acessibilidade para este controlo, consulte ASP.NET Controlos 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
| Name | Description |
|---|---|
| TreeView() |
Inicializa uma nova instância da TreeView classe. |
Propriedades
| Name | Description |
|---|---|
| AccessKey |
Obtém ou define a chave de acesso que permite navegar rapidamente até ao controlo do servidor Web. (Herdado de WebControl) |
| Adapter |
Recebe o adaptador específico do navegador para o controlo. (Herdado de Control) |
| AppRelativeTemplateSourceDirectory |
Obtém ou define o diretório virtual relativo à aplicação do Page objeto ou UserControl que contém este controlo. (Herdado de Control) |
| Attributes |
Obtém a coleção de atributos arbitrários (apenas para renderização) que não correspondem a propriedades no controlo. (Herdado de WebControl) |
| AutoGenerateDataBindings |
Recebe ou define um valor que indica se o controlo TreeView gera automaticamente ligações de nós em árvore. |
| BackColor |
Obtém ou define a cor de fundo do controlo do servidor Web. (Herdado de WebControl) |
| BindingContainer |
Obtém o controlo que contém a ligação de dados desse controlo. (Herdado de Control) |
| BorderColor |
Obtém ou define a cor da borda do controlo Web. (Herdado de WebControl) |
| BorderStyle |
Obtém ou define o estilo de borda do controlo do servidor Web. (Herdado de WebControl) |
| BorderWidth |
Obtém ou define a largura da fronteira do controlo do servidor Web. (Herdado de WebControl) |
| CheckedNodes |
Obtém uma coleção de TreeNode objetos que representam os nós no TreeView controlo que mostram uma caixa selecionada. |
| ChildControlsCreated |
Recebe um valor que indica se os controlos filhos do controlo do servidor foram criados. (Herdado de Control) |
| ClientID |
Obtém o ID de controlo para a marcação HTML gerada pelo ASP.NET. (Herdado de Control) |
| ClientIDMode |
Obtém ou define o algoritmo que é usado para gerar o valor da ClientID propriedade. (Herdado de Control) |
| ClientIDSeparator |
Obtém um valor de carácter que representa o carácter separador usado na ClientID propriedade. (Herdado de Control) |
| CollapseImageToolTip |
Recebe ou define a ToolTip para a imagem que é exibida para o indicador do nó dobrável. |
| CollapseImageUrl |
Recebe ou define a URL para uma imagem personalizada para o indicador de nó dobrável. |
| Context |
Obtém o controlo do HttpContext objeto associado ao servidor para o pedido Web atual. (Herdado de Control) |
| Controls |
Obtém um ControlCollection objeto que representa os controlos filhos de um servidor especificado na hierarquia da interface. (Herdado de Control) |
| ControlStyle |
Recebe o estilo do controlo do servidor Web. Esta propriedade é utilizada principalmente por promotores de controlo. (Herdado de WebControl) |
| ControlStyleCreated |
Recebe um valor que indica se um Style objeto foi criado para a ControlStyle propriedade. Esta propriedade é utilizada principalmente por promotores de controlo. (Herdado de WebControl) |
| CssClass |
Obtém ou define a classe Cascading Style Sheet (CSS) renderizada pelo controlo do servidor Web no cliente. (Herdado de WebControl) |
| DataBindings |
Obtém uma coleção de TreeNodeBinding objetos que definem a relação entre um elemento de dados e o nó ao qual está ligado. |
| DataItemContainer |
Obtém uma referência ao contentor de nomes se o contentor implementar IDataItemContainer. (Herdado de Control) |
| DataKeysContainer |
Obtém uma referência ao contentor de nomes se o contentor implementar IDataKeysControl. (Herdado de Control) |
| DataSource |
Obtém ou define o objeto a partir do qual o controlo ligado a dados recupera a sua lista de itens de dados. (Herdado de BaseDataBoundControl) |
| DataSourceID |
Obtém ou define o ID do controlo do qual o controlo limitado por dados recupera a sua lista de itens de dados. (Herdado de HierarchicalDataBoundControl) |
| DesignMode |
Obtém um valor que indica se um controlo está a ser usado numa superfície de projeto. (Herdado de Control) |
| EnableClientScript |
Recebe ou define um valor que indica se o TreeView controlo renderiza o script do lado do cliente para lidar com eventos de expansão e colapso. |
| Enabled |
Recebe ou define um valor que indica se o controlo do servidor Web está ativado. (Herdado de WebControl) |
| EnableTheming |
Recebe ou define um valor que indica se os temas se aplicam a este controlo. (Herdado de WebControl) |
| EnableViewState |
Recebe ou define um valor que indica se o controlo do servidor mantém o seu estado de visualização, e o estado de vista de quaisquer controlos filhos que contém, para o cliente solicitante. (Herdado de Control) |
| Events |
Obtém uma lista de delegados handler de eventos para o controlo. Esta propriedade é somente leitura. (Herdado de Control) |
| ExpandDepth |
Obtém ou define o número de níveis que são expandidos quando um TreeView controlo é exibido pela primeira vez. |
| ExpandImageToolTip |
Recebe ou define a ToolTip para a imagem que é exibida para o indicador de nó expansível. |
| ExpandImageUrl |
Recebe ou define a URL para uma imagem personalizada para o indicador de nó expansível. |
| Font |
Obtém as propriedades da fonte associadas ao controlo do servidor Web. (Herdado de WebControl) |
| ForeColor |
Obtém ou define a cor do primeiro plano (tipicamente a cor do texto) do controlo do servidor Web. (Herdado de WebControl) |
| HasAttributes |
Recebe um valor que indica se o controlo tem atributos definidos. (Herdado de WebControl) |
| HasChildViewState |
Recebe um valor que indica se os controlos filhos do controlo atual do servidor têm alguma configuração de estado de visualização guardada. (Herdado de Control) |
| Height |
Obtém ou define a altura do controlo 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 rato está posicionado sobre ele. |
| ID |
Obtém ou define o identificador programático atribuído ao controlo do servidor. (Herdado de Control) |
| IdSeparator |
Faz com que o carácter seja usado para separar identificadores de controlo. (Herdado de Control) |
| ImageSet |
Obtém ou define o grupo de imagens a usar para o TreeView controlo. |
| Initialized |
Obtém um valor que indica se o controlo ligado a dados foi inicializado. (Herdado de BaseDataBoundControl) |
| IsBoundUsingDataSourceID |
Recebe um valor que indica se a DataSourceID propriedade está definida. (Herdado de BaseDataBoundControl) |
| IsChildControlStateCleared |
Obtém um valor que indica se os controlos contidos neste controlo têm estado de controlo. (Herdado de Control) |
| IsDataBindingAutomatic |
Obtém um valor que indica se a ligação de dados é automática. (Herdado de BaseDataBoundControl) |
| IsEnabled |
Recebe um valor que indica se o controlo está ativado. (Herdado de WebControl) |
| IsTrackingViewState |
Recebe um valor que indica se o controlo do servidor está a guardar alterações ao estado de visualização. (Herdado de Control) |
| IsUsingModelBinders |
Quando implementado numa classe derivada, obtém um valor que indica se o controlo está a usar binders de modelo. (Herdado de BaseDataBoundControl) |
| IsViewStateEnabled |
Recebe um valor que indica se o estado de visualização está ativado para este controlo. (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ós 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 ligar os nós filhos aos nós pais. |
| LoadViewStateByID |
Recebe um valor que indica se o controlo participa no carregamento do seu estado de visualização em ID vez de index. (Herdado de Control) |
| MaxDataBindDepth |
Obtém ou define o número máximo de níveis de árvore para se associar ao TreeView controlo. |
| NamingContainer |
Obtém uma referência ao contentor de nomes do controlo do servidor, que cria um namespace único para diferenciar controlos de servidor com o mesmo ID valor de propriedade. (Herdado de Control) |
| NodeIndent |
Obtém ou define a quantidade de indentação (em pixels) para os nós filhos do TreeView controlo. |
| Nodes |
Obtém uma coleção de TreeNode objetos que representa os nós raiz no TreeView controlo. |
| NodeStyle |
Obtém uma referência ao TreeNodeStyle objeto que permite definir a aparência padrão dos nós no TreeView controlo. |
| NodeWrap |
Obtém ou define um valor que indica se o texto é enrolado num nó quando este fica sem espaço. |
| NoExpandImageUrl |
Recebe ou define a URL para 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 controlo do servidor. (Herdado de Control) |
| Parent |
Obtém uma referência ao controlo pai do controlo do servidor na hierarquia de controlo de página. (Herdado de Control) |
| ParentNodeStyle |
Obtém uma referência ao TreeNodeStyle objeto que permite definir a aparência dos nós pais no TreeView controlo. |
| PathSeparator |
Obtém ou define o carácter que é usado para delimitar os valores dos nós especificados pela ValuePath propriedade. |
| PopulateNodesFromClient |
Recebe ou define um valor que indica se os dados do nó são preenchidos a pedido pelo cliente. |
| RenderingCompatibility |
Recebe um valor que especifica a versão ASP.NET com a qual o HTML renderizado será compatível. (Herdado de Control) |
| RequiresDataBinding |
Recebe ou define um valor que indica se o DataBind() método deve ser chamado. (Herdado de BaseDataBoundControl) |
| RootNodeStyle |
Recebe uma referência ao TreeNodeStyle objeto que permite definir a aparência do nó raiz no TreeView controlo. |
| SelectedNode |
Obtém um TreeNode objeto que representa o nó selecionado no TreeView controlo. |
| SelectedNodeStyle |
Obtém o TreeNodeStyle objeto que controla a aparência do nó selecionado no TreeView controlo. |
| SelectedValue |
Obtém o valor do nó selecionado. |
| ShowCheckBoxes |
Recebe ou define um valor que indica que tipos de nós irão mostrar uma caixa de seleção no TreeView controlo. |
| ShowExpandCollapse |
Recebe ou define um valor que indica se os indicadores do nó de expansão são exibidos. |
| ShowLines |
Recebe ou define um valor que indica se as linhas que ligam os nós filhos aos nós pais são exibidas. |
| Site |
Obtém informação sobre o contentor que aloja o controlo atual quando renderizado numa superfície de design. (Herdado de Control) |
| SkinID |
Obtém ou fixa a pele para aplicar no controlo. (Herdado de WebControl) |
| SkipLinkText |
Recebe ou define um valor que é usado para renderizar texto alternativo para que os leitores de ecrã saltem o conteúdo para o controlo. |
| Style |
Recebe uma coleção de atributos de texto que serão renderizados como um atributo de estilo na etiqueta externa do controlo do servidor Web. (Herdado de WebControl) |
| SupportsDisabledAttribute |
Obtém um valor que indica se o controlo deve definir o |
| TabIndex |
Obtém ou define o índice de tabulação do controlo do servidor Web. (Herdado de WebControl) |
| TagKey |
Obtém o HtmlTextWriterTag valor do TreeView controlo. |
| TagName |
Recebe o nome da etiqueta de controlo. Esta propriedade é utilizada principalmente por promotores de controlo. (Herdado de WebControl) |
| Target |
Obtém ou define a janela ou frame alvo para exibir o conteúdo da página Web associado a um nó. |
| TemplateControl |
Recebe ou define uma referência ao template que contém esse controlo. (Herdado de Control) |
| TemplateSourceDirectory |
Obtém o diretório virtual do Page ou UserControl que contém o controlo atual do servidor. (Herdado de Control) |
| ToolTip |
Obtém ou define o texto exibido quando o ponteiro do rato paira sobre o controlo do servidor Web. (Herdado de WebControl) |
| UniqueID |
Obtém o identificador único e hierarquicamente qualificado para o controlo do servidor. (Herdado de Control) |
| ValidateRequestMode |
Recebe ou define um valor que indica se o controlo verifica a entrada do cliente do navegador para valores potencialmente perigosos. (Herdado de Control) |
| ViewState |
Obtém um dicionário de informação de estado que permite guardar e restaurar o estado de visualização de um controlo de servidor através de múltiplos pedidos para a mesma página. (Herdado de Control) |
| ViewStateIgnoresCase |
Obtém um valor que indica se o StateBag objeto é indistinto a maiúsculas e maiúsculas. (Herdado de Control) |
| ViewStateMode |
Obtém ou define o modo view-state deste controlo. (Herdado de Control) |
| Visible |
Recebe ou define um valor que indica se o controlo é renderizado como interface na página. |
| Width |
Obtém ou define a largura do controlo do servidor Web. (Herdado de WebControl) |
Métodos
| Name | Description |
|---|---|
| AddAttributesToRender(HtmlTextWriter) |
Adiciona atributos e estilos HTML que precisam de ser renderizados no controlo especificado HtmlTextWriter . |
| AddedControl(Control, Int32) |
Chamado após um controlo filho ser adicionado à Controls coleção do Control objeto. (Herdado de Control) |
| AddParsedSubObject(Object) |
Notifica o controlo do servidor que um elemento, seja XML ou HTML, foi analisado, e adiciona o elemento ao objeto do ControlCollection controlo do servidor. (Herdado de Control) |
| ApplyStyle(Style) |
Copia quaisquer elementos não em branco do estilo especificado para o controlo Web, sobrescrevendo quaisquer elementos de estilo existentes do controlo. Este método é usado principalmente por desenvolvedores de controlo. (Herdado de WebControl) |
| ApplyStyleSheetSkin(Page) |
Aplica as propriedades de estilo definidas na folha de estilo da página ao controlo. (Herdado de Control) |
| BeginRenderTracing(TextWriter, Object) |
Inicia o rastreio em tempo de design dos dados de renderização. (Herdado de Control) |
| BuildProfileTree(String, Boolean) |
Recolhe informações sobre o controlo do servidor e entrega-as à Trace propriedade para serem exibidas quando o rastreamento for ativado para a página. (Herdado de Control) |
| ClearCachedClientID() |
Define o valor em ClientID cache para |
| ClearChildControlState() |
Apaga a informação de estado de controlo dos controlos filhos do controlo do servidor. (Herdado de Control) |
| ClearChildState() |
Apaga a informação de view-state e control-state de todos os controlos filhos do servidor. (Herdado de Control) |
| ClearChildViewState() |
Elimina a informação de estado de visualização de todos os controlos filhos do controlo do servidor. (Herdado de Control) |
| ClearEffectiveClientIDMode() |
Define a ClientIDMode propriedade da instância de controlo atual e de qualquer controlo filho para Inherit. (Herdado de Control) |
| CollapseAll() |
Fecha todos os nós da árvore. |
| ConfirmInitState() |
Define o estado inicializado do controlo ligado a dados. (Herdado de BaseDataBoundControl) |
| CopyBaseAttributes(WebControl) |
Copia as propriedades não encapsuladas pelo Style objeto do controlo do servidor Web especificado para o controlo do servidor Web de onde este método é chamado. Este método é utilizado principalmente por reveladores de controlo. (Herdado de WebControl) |
| CreateChildControls() |
Chamada pelo framework de páginas ASP.NET para notificar os controlos de servidor que utilizam implementação baseada em composição para criar quaisquer controlos filhos que contenham em preparação para publicação ou renderização. (Herdado de Control) |
| CreateControlCollection() |
Cria uma coleção para armazenar controlos filhos. |
| CreateControlStyle() |
Cria o objeto de estilo que é usado internamente pela WebControl classe para implementar todas as propriedades relacionadas com o estilo. Este método é utilizado principalmente por reveladores de controlo. (Herdado de WebControl) |
| CreateNode() |
Devolve uma nova instância da TreeNode classe. Este CreateNode() é um método de ajuda. |
| DataBind() |
Chama o DataBind() método da classe base. |
| DataBind(Boolean) |
Vincula uma fonte de dados ao controlo do servidor invocado e a todos os seus controlos filhos com uma opção para elevar o DataBinding evento. (Herdado de Control) |
| DataBindChildren() |
Vincula uma fonte de dados aos controlos filhos do controlo do servidor. (Herdado de Control) |
| Dispose() |
Permite que o controlo do servidor realize a limpeza final antes de ser libertado da memória. (Herdado de Control) |
| EndRenderTracing(TextWriter, Object) |
Termina o rastreio de tempo de design dos dados de renderização. (Herdado de Control) |
| EnsureChildControls() |
Determina se o controlo do servidor contém controlos filhos. Se não o fizer, cria controlos filhos. (Herdado de Control) |
| EnsureDataBound() |
Chama o DataBind() método se a DataSourceID propriedade estiver definida e o controlo data-bound estiver marcado para exigir ligação. (Herdado de BaseDataBoundControl) |
| EnsureID() |
Cria um identificador para controlos 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, Int32) |
Pesquisa no contentor de nomenclatura atual um controlo de servidor com o especificado |
| FindControl(String) |
Procura no contentor de nomenclatura atual um controlo de servidor com o parâmetro especificado |
| FindNode(String) |
Recupera o TreeNode objeto no TreeView controlo no caminho de valor especificado. |
| Focus() |
Define o foco de entrada num controlo. (Herdado de Control) |
| GetCallbackResult() |
Devolve o resultado de um evento de callback que tem como alvo um controlo. |
| GetData(String) |
Recupera um HierarchicalDataSourceView objeto que o controlo data-bound utiliza para realizar operações de dados. (Herdado de HierarchicalDataBoundControl) |
| GetDataSource() |
Recupera o IHierarchicalDataSource que o controlo data-bound está associado, se houver. (Herdado de HierarchicalDataBoundControl) |
| GetDesignModeState() |
Obtém dados de tempo de projeto para um controlo. (Herdado de Control) |
| GetHashCode() |
Serve como função de hash predefinida. (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 o URL que corresponde a um conjunto de parâmetros de rota e a um nome de rota. (Herdado de Control) |
| GetRouteUrl(String, RouteValueDictionary) |
Obtém o URL que corresponde a um conjunto de parâmetros de rota e a um nome de rota. (Herdado de Control) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| GetUniqueIDRelativeTo(Control) |
Devolve a parte prefixada da UniqueID propriedade do controlo especificado. (Herdado de Control) |
| HasControls() |
Determina se o controlo do servidor contém algum controlo filho. (Herdado de Control) |
| HasEvents() |
Devolve um valor que indica se os eventos estão registados para o controlo ou para quaisquer controlos filhos. (Herdado de Control) |
| IsLiteralContent() |
Determina se o controlo do servidor contém apenas conteúdo literal. (Herdado de Control) |
| LoadControlState(Object) |
Restaura a informação do estado de controlo a partir de um pedido de página anterior que foi guardado pelo SaveControlState() método. (Herdado de Control) |
| LoadPostData(String, NameValueCollection) |
Processa dados de postback para o TreeView controlo. |
| LoadViewState(Object) |
Carrega o estado de visualização previamente guardado do TreeView controlo. |
| MapPathSecure(String) |
Recupera o caminho físico para o qual um caminho virtual, seja absoluto ou relativo, mapeia. (Herdado de Control) |
| MarkAsDataBound() |
Define o estado do controlo no estado de visualização como vinculado com sucesso aos dados. (Herdado de HierarchicalDataBoundControl) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| MergeStyle(Style) |
Copia quaisquer elementos não em branco do estilo especificado para o controlo Web, mas não sobrescreve quaisquer elementos de estilo existentes do controlo. Este método é utilizado principalmente por reveladores de controlo. (Herdado de WebControl) |
| OnBubbleEvent(Object, EventArgs) |
Determina se o evento para o controlo do servidor é passado para a hierarquia de controlo do servidor UI da página. (Herdado de Control) |
| OnDataBinding(EventArgs) |
Eleva o DataBinding evento. (Herdado de Control) |
| OnDataBound(EventArgs) |
Eleva o DataBound evento. (Herdado de BaseDataBoundControl) |
| OnDataPropertyChanged() |
Chamada quando uma das propriedades base de identificação da fonte de dados é alterada, para religar o controlo data-bound aos seus dados. (Herdado de HierarchicalDataBoundControl) |
| OnDataSourceChanged(Object, EventArgs) |
Chamado quando a IHierarchicalDataSource instância com que o controlo databound trabalha levanta o DataSourceChanged evento. (Herdado de HierarchicalDataBoundControl) |
| OnInit(EventArgs) |
Eleva o Init evento. |
| OnLoad(EventArgs) |
Trata do Load evento. (Herdado de HierarchicalDataBoundControl) |
| OnPagePreLoad(Object, EventArgs) |
Define o estado inicializado do controlo ligado a dados antes de este ser carregado. (Herdado de HierarchicalDataBoundControl) |
| OnPreRender(EventArgs) |
Eleva o PreRender evento. |
| OnSelectedNodeChanged(EventArgs) |
Aumenta o SelectedNodeChanged evento do TreeView controlo. |
| OnTreeNodeCheckChanged(TreeNodeEventArgs) |
Aumenta o TreeNodeCheckChanged evento do TreeView controlo. |
| OnTreeNodeCollapsed(TreeNodeEventArgs) |
Aumenta o TreeNodeCollapsed evento do TreeView controlo. |
| OnTreeNodeDataBound(TreeNodeEventArgs) |
Aumenta o TreeNodeDataBound evento do TreeView controlo. |
| OnTreeNodeExpanded(TreeNodeEventArgs) |
Aumenta o TreeNodeExpanded evento do TreeView controlo. |
| OnTreeNodePopulate(TreeNodeEventArgs) |
Aumenta o TreeNodePopulate evento do TreeView controlo. |
| OnUnload(EventArgs) |
Eleva o Unload evento. (Herdado de Control) |
| OpenFile(String) |
Recebe um Stream usado para ler um ficheiro. (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 do evento e da sua informação ao pai do controlo. (Herdado de Control) |
| RaiseCallbackEvent(String) |
Levanta o evento de callback usando os argumentos especificados. |
| RaisePostBackEvent(String) |
Permite ao TreeView controlo processar um evento que é levantado quando um formulário é publicado no servidor. O RaisePostBackEvent(String) método é um método auxiliar para o ICallbackEventHandler.RaiseCallbackEvent(String) método. |
| RaisePostDataChangedEvent() |
Sinaliza ao controlo TreeView para notificar a aplicação ASP.NET que o estado do controlo mudou. |
| RemovedControl(Control) |
Chamado após um controlo filho ser removido da Controls coleção do Control objeto. (Herdado de Control) |
| Render(HtmlTextWriter) |
Renderiza o controlo para o escritor HTML especificado. (Herdado de WebControl) |
| RenderBeginTag(HtmlTextWriter) |
Renderiza a etiqueta de abertura HTML do controlo ao escritor especificado. |
| RenderChildren(HtmlTextWriter) |
Exporta o conteúdo dos filhos de um controlo de servidor para um objeto fornecido HtmlTextWriter , que escreve o conteúdo a ser renderizado no cliente. (Herdado de Control) |
| RenderContents(HtmlTextWriter) |
Renderiza os nós no TreeView controlo. |
| RenderControl(HtmlTextWriter, ControlAdapter) |
Fornece conteúdo de controlo do servidor para um objeto fornecido HtmlTextWriter usando um objeto fornecido ControlAdapter . (Herdado de Control) |
| RenderControl(HtmlTextWriter) |
Fornece conteúdo de controlo do servidor para um objeto fornecido HtmlTextWriter e armazena informação de rastreamento sobre o controlo se o rastreio estiver ativado. (Herdado de Control) |
| RenderEndTag(HtmlTextWriter) |
Renderiza a etiqueta HTML de fecho do controlo para o escritor especificado. |
| ResolveAdapter() |
Faz com que o adaptador de controlo seja responsável por renderizar o controlo especificado. (Herdado de Control) |
| ResolveClientUrl(String) |
Recebe um URL que pode ser usado pelo navegador. (Herdado de Control) |
| ResolveUrl(String) |
Converte uma URL numa que seja utilizável no cliente solicitante. (Herdado de Control) |
| SaveControlState() |
Guarda quaisquer alterações no estado de controlo do servidor que tenham ocorrido desde que a página foi publicada de volta no servidor. (Herdado de Control) |
| SaveViewState() |
Poupa o estado do TreeView controlo. |
| SetDesignModeState(IDictionary) |
Define dados em tempo de projeto para um controlo. (Herdado de Control) |
| SetNodeDataBound(TreeNode, Boolean) |
Permite a uma classe derivada definir se o controlo especificado TreeNode é limitado por dados. |
| SetNodeDataItem(TreeNode, Object) |
Permite que uma classe derivada defina o elemento de dados para o controlo especificado TreeNode . |
| SetNodeDataPath(TreeNode, String) |
Permite que uma classe derivada defina o caminho de dados para o controlo especificado TreeNode . |
| SetRenderMethodDelegate(RenderMethod) |
Atribui um delegado handler de eventos para renderizar o controlo do servidor e o seu conteúdo no controlo pai. (Herdado de Control) |
| SetTraceData(Object, Object, Object) |
Define os dados de rastreio para o rastreio em tempo de design dos dados de renderização, usando o objeto rastreado, a chave de dados de traço e o valor dos dados de traço. (Herdado de Control) |
| SetTraceData(Object, Object) |
Define os dados de rastreio para o rastreio em tempo de design dos dados de renderização, usando a chave de dados de traço e o valor dos dados de traço. (Herdado de Control) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
| TrackViewState() |
Regista alterações de estado de visualização no TreeView controlo para que possam ser armazenadas no StateBag objeto para o controlo. Esta StateBag é acessível através da ViewState propriedade. |
| ValidateDataSource(Object) |
Verifica se o objeto ao qual um controlo databound se liga é um com o qual pode trabalhar. (Herdado de HierarchicalDataBoundControl) |
evento
| Name | Description |
|---|---|
| DataBinding |
Ocorre quando o controlo do servidor se liga a uma fonte de dados. (Herdado de Control) |
| DataBound |
Ocorre depois de o controlo do servidor se ligar a uma fonte de dados. (Herdado de BaseDataBoundControl) |
| Disposed |
Ocorre quando um controlo de servidor é libertado da memória, que é a última etapa do ciclo de vida do controlo do servidor quando uma página ASP.NET é solicitada. (Herdado de Control) |
| Init |
Ocorre quando o controlo do servidor é inicializado, que é o primeiro passo no seu ciclo de vida. (Herdado de Control) |
| Load |
Ocorre quando o controlo do servidor é carregado no Page objeto. (Herdado de Control) |
| PreRender |
Ocorre depois do carregamento do Control objeto, mas antes da renderização. (Herdado de Control) |
| SelectedNodeChanged |
Ocorre quando um nó é selecionado no TreeView controlo. |
| TreeNodeCheckChanged |
Ocorre quando uma caixa de seleção no TreeView controlo muda de estado entre publicações no servidor. |
| TreeNodeCollapsed |
Ocorre quando um nó é colapsado no TreeView controlo. |
| TreeNodeDataBound |
Ocorre quando um elemento de dados está ligado a um nó no TreeView controlo. |
| TreeNodeExpanded |
Ocorre quando um nó é expandido no TreeView controlo. |
| TreeNodePopulate |
Ocorre quando um nó com a PopulateOnDemand sua propriedade definida como |
| Unload |
Ocorre quando o controlo do servidor é descarregado da memória. (Herdado de Control) |
Implementações de Interface Explícita
| Name | Description |
|---|---|
| IAttributeAccessor.GetAttribute(String) |
Recebe um atributo do controlo Web com o nome especificado. (Herdado de WebControl) |
| IAttributeAccessor.SetAttribute(String, String) |
Define um atributo do controlo Web ao nome e valor especificados. (Herdado de WebControl) |
| ICallbackEventHandler.GetCallbackResult() |
Devolve o resultado de um evento de callback que tem como alvo um controlo. |
| ICallbackEventHandler.RaiseCallbackEvent(String) |
Levanta o evento de callback usando os argumentos especificados. |
| IControlBuilderAccessor.ControlBuilder |
Para uma descrição deste elemento, veja ControlBuilder. (Herdado de Control) |
| IControlDesignerAccessor.GetDesignModeState() |
Para uma descrição deste elemento, veja GetDesignModeState(). (Herdado de Control) |
| IControlDesignerAccessor.SetDesignModeState(IDictionary) |
Para uma descrição deste elemento, veja SetDesignModeState(IDictionary). (Herdado de Control) |
| IControlDesignerAccessor.SetOwnerControl(Control) |
Para uma descrição deste elemento, veja SetOwnerControl(Control). (Herdado de Control) |
| IControlDesignerAccessor.UserData |
Para uma descrição deste elemento, veja UserData. (Herdado de Control) |
| IDataBindingsAccessor.DataBindings |
Para uma descrição deste elemento, veja DataBindings. (Herdado de Control) |
| IDataBindingsAccessor.HasDataBindings |
Para uma descrição deste elemento, veja HasDataBindings. (Herdado de Control) |
| IExpressionsAccessor.Expressions |
Para uma descrição deste elemento, veja Expressions. (Herdado de Control) |
| IExpressionsAccessor.HasExpressions |
Para uma descrição deste elemento, veja HasExpressions. (Herdado de Control) |
| IParserAccessor.AddParsedSubObject(Object) |
Para uma descrição deste elemento, veja AddParsedSubObject(Object). (Herdado de Control) |
| IPostBackDataHandler.LoadPostData(String, NameValueCollection) |
Processa dados de postback para o TreeView controlo. |
| IPostBackDataHandler.RaisePostDataChangedEvent() |
Sinaliza ao controlo TreeView para notificar a aplicação ASP.NET que o estado do controlo mudou. |
| IPostBackEventHandler.RaisePostBackEvent(String) |
Permite ao TreeView controlo processar um evento que é levantado quando um formulário é publicado no servidor. |
Métodos da Extensão
| Name | Description |
|---|---|
| EnablePersistedSelection(BaseDataBoundControl) |
Obsoleto.
Permite que a seleção seja mantida em controlos de dados que suportam a seleção e a paginação. |
| FindDataSourceControl(Control) |
Devolve a fonte de dados associada ao controlo de dados para o controlo especificado. |
| FindFieldTemplate(Control, String) |
Devolve o modelo de campo para a coluna especificada no contentor de nomenclatura do controlo especificado. |
| FindMetaTable(Control) |
Devolve o objeto metatable para o controlo de dados que contém. |