Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais


Dica No :
1004
Assunto : ASP.NET
Titulo: Escondendo elementos do sitemap em uma treeview

Gostou do texto ? Vote e dê sua opinião! Pontuação atual :

Translate this page now :






Adicione aos Favoritos!
BlogBlogs Rec6 Linkk Ueba Technorati Delicious DiggIt! StumbleUpon



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 :

<siteMapNode title="A Empresa" description="Informações sobre a empresa" url="/a_empresa.asp" ImageURL="/Images/empresa.gif" exibeArvore="false"/>

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

Protected Sub SampleTreeView_TreeNodeDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.TreeNodeEventArgs) Handles SampleTreeView.TreeNodeDataBound

If Not IsNothing(e.Node.DataItem("exibeArvore")) AndAlso e.Node.DataItem("exibeArvore") = "false" Then
SampleTreeView.Nodes.Remove(e.Node)
End If

If Not IsNothing(e.Node.DataItem("expandido")) AndAlso e.Node.DataItem("expandido") = "false" Then
e.Node.Collapse()
End If
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.


Nome :
E-mail:
Comentarios :
 
 
Os Últimos Comentários
data: 3/31/2017 7:45:00 PM
nome: FYPSvBFnhEvpmd
email: jimos4581rt1@hotmail.com
comentário:
upckrY http://www.LnAJ7K8QSpkiStk3sLL0hQP6MO2wQ8gO.com

data: 1/31/2017 10:29:00 AM
nome: cKejjmqRbdCJ
email: derby451@hotmail.com
comentário:
APfFYK http://www.y7YwKx7Pm6OnyJvolbcwrWdoEnRF29pb.com

data: 1/29/2017 7:46:00 AM
nome: krFxoGEUiPwXQie
email: jogcbfn@hotmail.com
comentário:
Fb0cw3 http://www.y7YwKx7Pm6OnyJvolbcwrWdoEnRF29pb.com

data: 1/29/2017 7:37:00 AM
nome: knIybMEAxPdzWVTUfcg
email: derby451@hotmail.com
comentário:
fjZYPN http://www.y7YwKx7Pm6OnyJvolbcwrWdoEnRF29pb.com

data: 1/5/2017 11:22:00 AM
nome: xUCZsWRhQzElpwjvs
email: jfvynms4281rt@hotmail.com
comentário:
mD4c46 http://www.FyLitCl7Pf7ojQdDUOLQOuaxTXbj5iNG.com

 1  
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