none
Gerar um Organograma - Windows Form C# RRS feed

  • Pergunta

  • Boa Noite,

    Tenho uma tabela no meu banco de dados chamado clientes. Tenho nessa tabela os seguintes campos:

    a) Código do Cliente

    b) Nome do Cliente

    c) Código do Cliente que Indicou

    Um cliente quando indica o outro, faço esse auto-relacionamento.

    Preciso gerar um organograma, do tipo árvore, mostrando o cliente e abaixo dele o cliente que o indicou.

    É uma espécie de pai e filhos no formato de árvore.

    Se alguém puder me ajudar, fico muito agradecido.

    Abraços!

    Watson Passos


    Watson Passos Analista desenvolvimento .Net (C# + LINQ TO SQL) Graduado em Análise de Sistemas
    sábado, 16 de abril de 2011 00:06

Respostas

Todas as Respostas

  • Master Detail é facil de fazer, vc pode usar dois datagridviews e fazer.

    eu suponho que vc esteja trabalhando com classes, portanto 

     

     

    public class Cliente
    
    {
    
    public int Codigo {get;set;}
    
    public string Nome {get;set;}
    
    public List<Cliente> IndicadoPor {get;set;}
    
    }
    
    
    

     

    A estrutura do banco de dados será: tabela de clientes, 

    tab_clientes, campos = cod_cliente (int not null pk autoincrement), nom_cliente (varchar(50))

    tab_rel_clientes campos = cod_rel_cliente (int not null pk autoincrement), cod_cliente (FK), cod_cliente indicou(FK)

    O cliente vc grava na tab_cliente, o relacionamento grava na tab_rel_clientes, visto que hoje vc pode ter uma unica indicação, mas se o seu sistema precisar crescer por qq motivo besta, a solução ja esta pronta.

    Use 2 objectBindingSources pra trabalhar com a dinamica de "master detail" e ligue estes dois object binding sources, cada um em um grid (o grid que mostrara o cliente, e o grid OU qualquer outra estrutura que vc achar melhor)

    Basicamente é isso, o esqueleto de construção é esse, o resto é por sua conta. E qualquer duvida poste

    []s

     

    sábado, 16 de abril de 2011 19:01
  • Obrigado pela Resposta.

    Mais na verdade to querendo algo mais visual do que um Grid. Gostaria de algum objeto visual do tipo árvore igual um Organograma mesmo.

    De qualquer forma obrigado.


    Watson Passos Analista desenvolvimento .Net (C# + LINQ TO SQL) Graduado em Análise de Sistemas
    sábado, 16 de abril de 2011 19:28
  • Vc pode usar uma treeview neste caso, a estruturação é a mesma...
    sábado, 16 de abril de 2011 21:35
  • Sim, posso usar uma treeview, o problema é que a treeview não me da mais de uma coluna, como no organograma, compreendeu?

    Quero mesmo é fazer um organograma em C#.


    Watson Passos Analista desenvolvimento .Net (C# + LINQ TO SQL) Graduado em Análise de Sistemas
    sábado, 16 de abril de 2011 21:42
  • Watson,

    Veja se este link te ajuda em algo:

    http://www.codeproject.com/KB/cs/Org_Chart_Generator.aspx


    André Alves de Lima
    Microsoft MVP - Client App Dev
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima
    segunda-feira, 18 de abril de 2011 13:33
    Moderador
  • Oi André,

    Era isso mesmo. Obrigado mesmo pela Ajuda.

    Obrigado a todos que responderam.

     

    Abraços!

    Watson Passos


    Watson Passos Analista desenvolvimento .Net (C# + LINQ TO SQL) Graduado em Análise de Sistemas
    terça-feira, 19 de abril de 2011 22:49
  • Magina Watson!

    Bom trabalho / estudos por aí...


    André Alves de Lima
    Microsoft MVP - Client App Dev
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima
    quarta-feira, 20 de abril de 2011 14:38
    Moderador