TreeView – ASP.NET 2.0


Uma colega nos NewsGroups de ASP.NET do MSDN Brasil queria saber como se faz para contar os items de um controle TreeView do ASP.NET. Além disso, também queria fazer como se faz para recuperar os items que estão marcados, isso quando a propriedade ShowCheckBox está definida como All.

Para ambos os casos, o que deve ser utilizado é uma função recursiva, pois podemos ter nós dentro de nós e assim por diante. Resolvi postar aqui a solução que encontrei para esses dois casos, e poderá de alguma forma ajudar mais alguém que também precise.

[ Quantidade total de nós ]

private int _count = 0;
//….
private void ResgataQuantidade(TreeNodeCollection coll){
     foreach (TreeNode tn in coll){
          _count += 1;
          if(tn.ChildNodes.Count > 0)
               ResgataQuantidade(tn.ChildNodes);
     } 
}

[ Recuperando os nós selecionados ]

private void ResgataQuantidadeItemMarcados(TreeNodeCollection coll) {
     foreach (TreeNode tn in coll){
          if(tn.Checked) Response.Write(tn.Text);
               if(tn.ChildNodes.Count > 0)
                    ResgataQuantidadeItemMarcados(tn.ChildNodes);
     }
}

E para chamar qualquer umas das duas funções, basta fazer:

ResgataQuantidade(this.TreeView1.Nodes);
Response.Write(“Quantidade: ” + this._count.ToString());
ResgataQuantidadeItemMarcados(this.TreeView1.Nodes);

Anúncios

2 comentários sobre “TreeView – ASP.NET 2.0

  1. Grande Willian, o lance e o seguinte, primeiro va ver meu jogo contra a Inter de Milao, depois voce vai fazer o seguinte.

    Pegue o a propriedade DataSource da TreeView, converta em um TreeViewCollection depois e so manipular os dados dessa colection!!!

    BABA!!!!!

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s