Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais
Escondendo elementos do sitemap em uma treeview
Data:7/8/2008

Translate this page now :





Categories: ASP.NET

Gostou do texto ? Vote e dê sua opinião! Pontuação atual :
Adicione aos Favoritos!
BlogBlogs Rec6 Linkk Ueba Technorati Delicious DiggIt! StumbleUpon

Veja Também


Uma treeview é um objeto normalmente utilizado para navegações laterais. Como tal, não é o objeto principal de navegação no site, a navegação principal do site é feita por um menu superior, por exemplo, a treeview fica sendo secundária.

Assim sendo, como já temos um menu no topo, certamente não desejaremos exibir toda a árvore de navegação na treeview, mas apenas alguns elementos, os mais importantes certamente. Então como fazer com que a treeview não exiba o sitemap inteiro, apenas parte dele ?

Além da possibilidade de não exibir um nó do sitemap, existe a possibilidade de exibir um nó de forma não expandida e retirar da treeview os botões de expansão, dando a treeview a aparência de uma simples barra lateral.

E por que não fazer uma simples barra lateral ? Porque com o sitemap temos mais versatilidade na manutenção da navegação do site.

Mais uma vez, vamos utilizar o truque que demonstramos com o sitemap (em http://www.bufaloinfo.com.br/dicas.asp?cod=999  e http://www.bufaloinfo.com.br/dicas.asp?cod=811  ), criando atributos adicionais para o sitemap. Veja como fica um nó do sitemap com esse atributo :

   1: <siteMapNode title="A Empresa" description="Informações sobre a empresa" url="/a_empresa.asp" ImageURL="/Images/empresa.gif" exibeArvore="false"/> 
   2: <siteMapNode title="Treinamentos" description="Informações sobre treinamentos" url="/treinamentos.asp" ImageURL="/Images/treinamento.gif" expandido="false">  

Enquanto que "A empresa" encontra-se com o atributo "exibeArvore" false, para não aparecer no treeview, "Treinamentos" encontra-se com o atributo "expandido" false, para aparecer mas de forma reduzida, sem mostrar toda a árvore abaixo deste nó.

Programamos então o treenode databound para fazer com que, com base neste atributo, o nó não seja exibido. Isso sai um pouco do trivial porque o treenode não tem propriedade visible acessível neste ponto, então temos realmente que eliminar o treenode da coleção de nós :

   1: Protected Sub SampleTreeView_TreeNodeDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.TreeNodeEventArgs) Handles SampleTreeView.TreeNodeDataBound 
   2: If Not IsNothing(e.Node.DataItem("exibeArvore")) AndAlso e.Node.DataItem("exibeArvore") = "false" Then 
   3:      SampleTreeView.Nodes.Remove(e.Node) 
   4: End If 
   5: If Not IsNothing(e.Node.DataItem("expandido")) AndAlso e.Node.DataItem("expandido") = "false" Then 
   6:     e.Node.Collapse() 
   7: End If 
   8: End Sub 

Dois if's bem semelhantes para testar os atributos. Porém no caso do exibeArvore removemos o nó da coleção Nodes. No caso do expandido aplicamos um Collapse.



Categories: ASP.NET


Nome :
E-mail:
Comentarios :
 
 
Os Últimos Comentários
Nenhum comentário foi realizado ainda. Seja o primeiro !
Dicas
Dica do Dia
Receba Dicas Por Email
E-mail :  
 


 (help)
Aceito receber informativos do devASPNet, informações de eventos e treinamentos

Veja Quais Informativos Você Receberá

Pesquisar Dicas
Pesquisar Artigos, Dicas e Noticias

Banco de Dados
Algumas Entrevistas
Links Importantes

Búfalo Informática, Treinamento e Consultoria
R. Alvaro Alvim, 37/920 Centro - Cinelândia - Rio de Janeiro Cep: 20031-010
Tel : (21) 2262-1368 (21) 9240-5134 E-mail : Contato@bufaloinfo.com.br