none
Ajuda com carregamento de TreeView RRS feed

  • Pergunta

  • Bom dia Pessoal!

    Já li dezenas de artigos sobre o assunto mais ainda continuo confuso. Estou fazendo um cadastro de grupo de produto onde gostaria de criar N grupos, ou seja, N níveis na TreeView.

    Meu projeto esta dividido em camadas. Na minha consulta no banco dou um Select * from Grupo, salvo o retorno do banco em uma coleção de objetos. Minha tabela possuí a seguinte estrutura: Id_Grupo, Id_NoPai e descrição. Quando o grupo for o primeiro nível (não tiver Id_NoPai) eu coloco o valor zero no campo.

    Eu consegui fazer um código para carregar até dois níveis na TreeView, porém não estou conseguindo fazer algo para carregar quantos níveis precisar. Segue o código: 

                    foreach (Grupo ObjGruposPai in objNegCli.ConsultarPai(""))
                    {
                        TreeNode NoPai = new TreeNode();
                        NoPai.Text = ObjGruposPai.descricao.ToString();
    
                        foreach (Grupo ObjGrupFilho in objNegCli.ConsultarFilho(""))
                        {
                            TreeNode NoFilho = new TreeNode();
                            NoFilho.Text = ObjGrupFilho.descricao.ToString();
    
                            if (ObjGrupFilho.Id_NoPai == ObjGruposPai.Grupo_Id)
                            {
                                NoPai.Nodes.Add(NoFilho);
                                
                            }
    
    
    
                        }
    
                        //if (ObjGruposPai.Id_NoPai == 0)
                        //{
                            TreeViewTeste.Nodes.Add(NoPai);
                        //}
                    
                    }


    Desde já obrigado!


    • Editado Tribianni sábado, 20 de abril de 2013 16:49 Correção do código
    sábado, 20 de abril de 2013 16:36

Respostas

  • Bom Dia!

    Uma vez fiz algo parecido, para menus.

    Fiz exatamente igual na parte do banco.

    Para Carregar todos os níveis, use recursividade , um metodo chamar ele mesmo.

    • Sugerido como Resposta PachecoDT segunda-feira, 22 de abril de 2013 14:37
    • Não Sugerido como Resposta PachecoDT segunda-feira, 22 de abril de 2013 14:55
    • Sugerido como Resposta PachecoDT segunda-feira, 22 de abril de 2013 14:56
    • Marcado como Resposta Tribianni segunda-feira, 15 de junho de 2015 19:16
    segunda-feira, 22 de abril de 2013 14:37