Treeview com Mais de 1 Coluna
Caros, bom dia.
Preciso montar um Treeview, com mais de uma coluna.
Exemplo:
Coluna a | Coluna B | Coluna C
ITEM A | DESCRICAO DO ITEM | ALGUM COMENTARIO
+ AQUI, UM SUBITEM, COM AS MESMAS 3 COLUNAS
É tipo um plano de contas, mas preciso de 3 colunas,
o treeview padrao, so deixa eu incluir uma unica coluna por linha.
grato pela atencao.Obrigado.
Preciso montar um Treeview, com mais de uma coluna.
Exemplo:
Coluna a | Coluna B | Coluna C
ITEM A | DESCRICAO DO ITEM | ALGUM COMENTARIO
+ AQUI, UM SUBITEM, COM AS MESMAS 3 COLUNAS
É tipo um plano de contas, mas preciso de 3 colunas,
o treeview padrao, so deixa eu incluir uma unica coluna por linha.
grato pela atencao.Obrigado.
Pedih
Curtidas 0
Respostas
Michael
27/09/2005
Olá colega!
[url=http://forum.clubedelphi.net/search.php]Pesquise[/url] aqui no fórum pelo componente [b:b827abff99]VirtualTreeView[/b:b827abff99]. Ele faz o que vc quer e muito mais.
[]´s
[url=http://forum.clubedelphi.net/search.php]Pesquise[/url] aqui no fórum pelo componente [b:b827abff99]VirtualTreeView[/b:b827abff99]. Ele faz o que vc quer e muito mais.
[]´s
GOSTEI 0
Pedih
27/09/2005
Olá colega!
[url=http://forum.clubedelphi.net/search.php]Pesquise[/url] aqui no fórum pelo componente [b:b241d5decb]VirtualTreeView[/b:b241d5decb]. Ele faz o que vc quer e muito mais.
[]´s
michael,
eu ja tenho este componente instalado, mas ta com problemas.
mandei um e-mail pra voce ontem, reportando o mesmo.
Voce recebeu o e-mail ?
GOSTEI 0
Michael
27/09/2005
Colega,
Eu não costumo responder emails ou MP´s inerentes à dúvidas do fórum, pois isso beneficia apenas uma pessoa, e não aos demais usuários da comunidade que possam estar com a mesma dificuldade. Esta postura não é apenas minha, e sim de muitos outros participantes do nosso meio. Geralmente eu apenas respondo aos emails com dúvidas ou comentários sobre meus artigos para o ClubeDelphi e a outros assuntos não relecionados ao fórum.
Poste sua dúvida aqui e os outros membros e eu tentaremos te ajudar.
Nada pessoal, ok? ;-)
[]´s
Eu não costumo responder emails ou MP´s inerentes à dúvidas do fórum, pois isso beneficia apenas uma pessoa, e não aos demais usuários da comunidade que possam estar com a mesma dificuldade. Esta postura não é apenas minha, e sim de muitos outros participantes do nosso meio. Geralmente eu apenas respondo aos emails com dúvidas ou comentários sobre meus artigos para o ClubeDelphi e a outros assuntos não relecionados ao fórum.
Poste sua dúvida aqui e os outros membros e eu tentaremos te ajudar.
Nada pessoal, ok? ;-)
[]´s
GOSTEI 0
Pedih
27/09/2005
blz. Nildo, (concordo), desculpa.
é o seguinte:
criei 3 colunas, no componente TreeViewlist.
blz.
adicionei as informacoes.
meu plano de contas, tem 6 niveis.
Q.Open;
while not Q.Eof do
begin
sNumConta := Q.FieldByName(´NumConta´).AsString;
sDescricao := Q.FieldByName(´Descricao´).AsString;
sCodTrador := Q.FieldByName(´Tradutor´).AsString;
sCodTrador := Replicate(sCodTrador, ´0´, 5, True);
iNivel := Q.FieldByName(´Nivel´).AsInteger;
sLinha := sNumConta + ´|´ + sDescricao + ´|´ + sCodTrador;
case iNivel of
1 : Node1 := pTree1.tv.Items.Add(nil, sLinha);
2 : Node2 := pTree1.tv.Items.AddChild(Node1, sLinha);
3 : Node3 := pTree1.tv.Items.AddChild(Node2, sLinha);
4 : Node4 := pTree1.tv.Items.AddChild(Node3, sLinha);
5 : Node5 := pTree1.tv.Items.AddChild(Node4, sLinha);
6 : Node6 := pTree1.tv.Items.AddChild(Node5, sLinha);
end;
Q.Next;
funcionou perfeitamente.
todos dentro do seu nivel.
porem:
o problema esta no cursor do (mouse).
tipo:
se eu clicar em qualquer lugar do listview(na coluna 1), ele posiciona o ponteiro no item que eu selecionar.Porem, se eu cliar em qualquer outra posicao, que nao seja da coluna 1,, exemplo (coluna 2 ou 3), o ponteiro nao obedece, e como se o listview estivesse enabled = True,
Entendeu ?
Obrigado pela costumeira atencao, by.
é o seguinte:
criei 3 colunas, no componente TreeViewlist.
blz.
adicionei as informacoes.
meu plano de contas, tem 6 niveis.
Q.Open;
while not Q.Eof do
begin
sNumConta := Q.FieldByName(´NumConta´).AsString;
sDescricao := Q.FieldByName(´Descricao´).AsString;
sCodTrador := Q.FieldByName(´Tradutor´).AsString;
sCodTrador := Replicate(sCodTrador, ´0´, 5, True);
iNivel := Q.FieldByName(´Nivel´).AsInteger;
sLinha := sNumConta + ´|´ + sDescricao + ´|´ + sCodTrador;
case iNivel of
1 : Node1 := pTree1.tv.Items.Add(nil, sLinha);
2 : Node2 := pTree1.tv.Items.AddChild(Node1, sLinha);
3 : Node3 := pTree1.tv.Items.AddChild(Node2, sLinha);
4 : Node4 := pTree1.tv.Items.AddChild(Node3, sLinha);
5 : Node5 := pTree1.tv.Items.AddChild(Node4, sLinha);
6 : Node6 := pTree1.tv.Items.AddChild(Node5, sLinha);
end;
Q.Next;
funcionou perfeitamente.
todos dentro do seu nivel.
porem:
o problema esta no cursor do (mouse).
tipo:
se eu clicar em qualquer lugar do listview(na coluna 1), ele posiciona o ponteiro no item que eu selecionar.Porem, se eu cliar em qualquer outra posicao, que nao seja da coluna 1,, exemplo (coluna 2 ou 3), o ponteiro nao obedece, e como se o listview estivesse enabled = True,
Entendeu ?
Obrigado pela costumeira atencao, by.
GOSTEI 0
Michael
27/09/2005
blz. Nildo, (concordo), desculpa.
Nildo?
Bom, se não me engano, existe uma opção para permitir a seleção de uma linha ao se clicar nas demais colunas da TreeView. Não me lembro de cabeça dela, e nem posso pesquisar aqui pois não tenho o componente nesta máquina que estou usando. Mas, dê uma olhada na propriedade TreeOptions. Alí ficam praticamente todas as configurações da TreeView.
Lembrando da opção correta eu posto aqui.
[]´s
GOSTEI 0
Pedih
27/09/2005
[quote:aa6770af3e=´pedih´]blz. Nildo, (concordo), desculpa.
Nildo?
Bom, se não me engano, existe uma opção para permitir a seleção de uma linha ao se clicar nas demais colunas da TreeView. Não me lembro de cabeça dela, e nem posso pesquisar aqui pois não tenho o componente nesta máquina que estou usando. Mas, dê uma olhada na propriedade TreeOptions. Alí ficam praticamente todas as configurações da TreeView.
Lembrando da opção correta eu posto aqui.
[]´s[/quote:aa6770af3e]
ops:
apesar de que: Nildo e Michael, estes nomes sao bem parecidos. hee
Michael, ve para mim entao, assim que puder, nao encontrei nada
referente a opcao de TreeOptions.
Sera que estamos falando domesmo componente ?
aqui na minha maquina, ele foi instalado como o nome de PTree.
No aguardo, obrigado.
GOSTEI 0
Pedih
27/09/2005
MICHAEL, boa tarde.
veja por gentileza, o nome da propriedade. (eu nao encontrei).
que libera as colunas (todas, quando eu clicar no treeview.
Abracos, (obrigado pela atencao).
veja por gentileza, o nome da propriedade. (eu nao encontrei).
que libera as colunas (todas, quando eu clicar no treeview.
Abracos, (obrigado pela atencao).
GOSTEI 0
Michael
27/09/2005
Olá!
Vá em [b:c5d20862ab]TreeOptions[/b:c5d20862ab]->[b:c5d20862ab]SelectionOptions [/b:c5d20862ab]e marque como [i:c5d20862ab]True[/i:c5d20862ab] o elemento [b:c5d20862ab]toFullRowSelect[/b:c5d20862ab].
[]´s
Vá em [b:c5d20862ab]TreeOptions[/b:c5d20862ab]->[b:c5d20862ab]SelectionOptions [/b:c5d20862ab]e marque como [i:c5d20862ab]True[/i:c5d20862ab] o elemento [b:c5d20862ab]toFullRowSelect[/b:c5d20862ab].
[]´s
GOSTEI 0
Pedih
27/09/2005
Michael, boa tarde.
Desculpe a ignorancia, mas nao consigo fazer e nem entender com os exemplos do VirtualStringTree.
Vi numa post seu que pretende dispor de um tutorial explicando sobre o componente, este ja esta pronto ??
Bom, poderia me ajudar, montando o codigo para mim ?
é o seguinte:
preciso montar um plano de contas, com 4 colunas
FlagContaAtiva, CodConta, Descricao, Saldo
Coluna 1 {tipo integer}
Coluna 2 {Tipo String}
Coluna 3 {tipo string}
coluna 4 {tipo numeric}
estes serao preenchidos de acordo com um dataset.
tipo:
no oncreate, ja com as colunas definidas em tempo de projeto,
eu iria fazer:
while not <query>.eof do
begin
1) pelo nivel da conta, (que serao 5), eu crio o nó.
e assim vai..
next;
end;
é isso.
** se puder, monta para mim...
Muito obrigado pela atencao. Abracos.
Desculpe a ignorancia, mas nao consigo fazer e nem entender com os exemplos do VirtualStringTree.
Vi numa post seu que pretende dispor de um tutorial explicando sobre o componente, este ja esta pronto ??
Bom, poderia me ajudar, montando o codigo para mim ?
é o seguinte:
preciso montar um plano de contas, com 4 colunas
FlagContaAtiva, CodConta, Descricao, Saldo
Coluna 1 {tipo integer}
Coluna 2 {Tipo String}
Coluna 3 {tipo string}
coluna 4 {tipo numeric}
estes serao preenchidos de acordo com um dataset.
tipo:
no oncreate, ja com as colunas definidas em tempo de projeto,
eu iria fazer:
while not <query>.eof do
begin
1) pelo nivel da conta, (que serao 5), eu crio o nó.
e assim vai..
next;
end;
é isso.
** se puder, monta para mim...
Muito obrigado pela atencao. Abracos.
GOSTEI 0
Pedih
27/09/2005
Michael,
(Ufa), consegui fazer +- o que precisava, porem, faltam alguns detalhes.
tenho uma arvore,
RootNodeCount = 10;
e 5 niveis para cada conta:
como eu faco, para executar um for/next
em todo o VirtualStringTree (pai e filhos)?
motivo: preciso salvar no banco de dados:
e, apos salvar, preciso posicionar o cursor no mesmo lugar onde estava.
Obrigado.
----
(Ufa), consegui fazer +- o que precisava, porem, faltam alguns detalhes.
tenho uma arvore,
RootNodeCount = 10;
e 5 niveis para cada conta:
como eu faco, para executar um for/next
em todo o VirtualStringTree (pai e filhos)?
motivo: preciso salvar no banco de dados:
e, apos salvar, preciso posicionar o cursor no mesmo lugar onde estava.
Obrigado.
----
GOSTEI 0