TREEVIEW: Um exemplo prático para o Fórum

Delphi

17/02/2005

Ola pessoal

Preciso urgentemente, da ajuda de voces para montar um objeto treeview a partir de um plano de contas de uma tabela ACCESS com ADO. Sei que tem várias mensagens sobre o assunto mas em nenuma delas encontrei um exemplo que ussase da recursividade e fosse dinâmica
para criar a árvore.
Estou tentando utlilizar o treeview pra que apareca a arvore, mas nao
consigo fazer carregar os dados da tabela como quero, pois preciso
controlar a Dinâmica dos dados do plano de contas, ou seja,
como inserir os Nós PAI x FILHO recursivamente. Gostaria que
ficasse com a seguinte estrutura, mas nao sei como fazer:

1 - entrada
---------------1.01- Venda Vista
---------------1.02- Venda Prazo
2 - Saidas
---------------2.01- pagamentos
------------------------------------2.01.01- pagamentos Diversos

Segue o exemplo de um código colocado:
------------------------------------------------

procedure TForm1.Button1Click(Sender: TObject);
var
MyTreeNode1, MyTreeNode2: TTreeNode;
begin
with TreeView1.Items do
begin
Clear; { Remove qualquer node existente }
MyTreeNode1 := Add(nil, ´RootTreeNode1´); { Adiciona o node raiz }
{ Adiciona um sub item no node adiciona anteriormente }
AddChild(MyTreeNode1,´ChildNode1´);
{Adiciona outro node raiz}
MyTreeNode2 := Add(MyTreeNode1, ´RootTreeNode2´);
AddChild(MyTreeNode2,´ChildNode2´);
MyTreeNode2 := TreeView1.Items[3];
AddChild(MyTreeNode2,´ChildNode2a´);
Add(MyTreeNode2,´ChildNode2b´);
Add(MyTreeNode1, ´RootTreeNode3´);
end;
end;


Muito Obrigado

Alex


Alexsandro

Alexsandro

Curtidas 0

Respostas

Alexsandro

Alexsandro

17/02/2005

Pessoal,

Esqueci de acrescentar um ponto importante: Para o tratamento da RECURSIVIDADE terei dois campos na tabela CONTAS:

Campo CONTA
CAmpo CONTA_PAI

Obrigado


GOSTEI 0
Rodolpho123

Rodolpho123

17/02/2005

Vc vai ter que criar um campo chamado [b:686daedc0f]codhierárquico[/b:686daedc0f] na sua tabela, para vc poder definir a estrutura da sua TreeView.


GOSTEI 0
Alexsandro

Alexsandro

17/02/2005

Meus Amigos,

Se alguém souber de um endereço ou exemplo pratico eu ficaria muito grato,

Alex


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

17/02/2005

vc poderia mostrar uma conta onde tenha o maior limite de ´ramificações´ da árvore? tipo:

X.XX.X.XX.X

na verdade eu gostaria de saber como seria a máscara da conta.

:shock: não sei se eu me fiz entender, mas com essa informação talvez eu posssa ajudar na solução do seu problema.


GOSTEI 0
Alexsandro

Alexsandro

17/02/2005

Oi Emerson,

A conta teria a seguinte mascara: 99.99.99.99.99. Tamnho de 10, pois não vejo necessidade de guardar os pontos. Cada Nível que desce é um subconjunto pois de fato nenhum PAI vai ter mais do que 99 filhos.

Agradeço qualquer colaboração do GRUPO,

Alex


GOSTEI 0
Sdph

Sdph

17/02/2005

Olha tenho um exemplo que criei, caso esteja interessado me envie um E-Mail, que lhe enviarei amanhã o exemplo, pois estou no serviço agora.

sdph2003@hotmail.com

Até


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

17/02/2005

Fiz uma rotina que creio estar totalmente funcional. Posso enviar no seu email para você testar. Caso atenda a sua necessidade, eu a publico aqui no fórum.


GOSTEI 0
Alexsandro

Alexsandro

17/02/2005

Oi Emerson,

Ficarei grato por esta Rotina. Depois de testá-la meu objetivo é colocá-la no Fórum pois sei que muitas pessoas procuram por isso e posso lhe garantir, não é tão fácil de encontrar.

meu email seria: afio@ig.com.br

Muito Obrigado,

Alex


GOSTEI 0
POSTAR