Como Pegar o Item Indexado ou selecionado no Treeview
Bom Dia Galera, Como Pegar o Item Indexado ou selecionado no Treeview
Alguem Sabe.
Grato a Todos.
Alguem Sabe.
Grato a Todos.

Pauldiano66
Curtidas 0
Respostas

Paullus
31/03/2004
Cara, tem como você explicar melhor? Não entendi a sua pergunta (item indexado!?!?!?!!?).
Pra pegar o item selecionado use:
Ele te retorna o TTreeNode atual. Aí você acessa as propriedades do nodo pra saber.
Acho que era isso que você queria, não!?
:roll:
Pra pegar o item selecionado use:
TTreeView.Selected
Ele te retorna o TTreeNode atual. Aí você acessa as propriedades do nodo pra saber.
Acho que era isso que você queria, não!?
:roll:
GOSTEI 0

Pauldiano66
31/03/2004
for i:= 0 to frmTreeView.tv.Selected.Count -1 do
node:=frmTreeView.tv.Selected[i].Item;
frmTreeView.tv.items[6].selectd:=true;
tenho uma treeview com uma hierarquia e nessa hierarquia tem pastas dentro das pastas existem uma figura de maquina claro tem varios nos,nesta maquina vou clicar duas vezes em cima e depois abrir uma tela de condicao para fazer uma alteração e depois voltar de novo nesta maquina,se puder deixar seu fone agradeço caso não entender.
mais ou menos o codigo acima,o index è inteiro.
node:=frmTreeView.tv.Selected[i].Item;
frmTreeView.tv.items[6].selectd:=true;
tenho uma treeview com uma hierarquia e nessa hierarquia tem pastas dentro das pastas existem uma figura de maquina claro tem varios nos,nesta maquina vou clicar duas vezes em cima e depois abrir uma tela de condicao para fazer uma alteração e depois voltar de novo nesta maquina,se puder deixar seu fone agradeço caso não entender.
mais ou menos o codigo acima,o index è inteiro.
GOSTEI 0

Paullus
31/03/2004
Cara...
Faz o seguinte: manda aí o trecho do código que está dando problema e tenta explicar com mais detalhes o que você tá querendo. Meio que passo a passo mesmo.
Até onde entendi é o seguinte:
1 - Selecione o nodo;
2 - Faça a alteração
2 - Em todos os filhos dele faça alguma coisa.
É isso?
Faz o seguinte: manda aí o trecho do código que está dando problema e tenta explicar com mais detalhes o que você tá querendo. Meio que passo a passo mesmo.
Até onde entendi é o seguinte:
1 - Selecione o nodo;
2 - Faça a alteração
2 - Em todos os filhos dele faça alguma coisa.
É isso?
GOSTEI 0

Pauldiano66
31/03/2004
Caro Colega Ainda Nem Fiz Esse Codigo Faz o Seguinte POde Me lIGAR
011-8123-7860 ou me Passa seu Fone eu Te Ligo ok Um Abraço Sergio
Te explico Ai vc Vai Entender.
011-8123-7860 ou me Passa seu Fone eu Te Ligo ok Um Abraço Sergio
Te explico Ai vc Vai Entender.
GOSTEI 0

Paullus
31/03/2004
Ligaê...
(061) 9648 6086
(061) 9648 6086
GOSTEI 0

Paullus
31/03/2004
Bem... só para situar o pessoal do Fórum:
O problema é:
Eu tenho um nodo selecionado no meu TreeView. Só que eu tenho que remontar ele pra alterar a imagem. Deseja-se que o mesmo nodo esteja selecionado após a remontagem do TreeView.
A solução taí embaixo:
1 - Guarde a propriedade [b:72a8211577]AbsoluteIndex[/b:72a8211577] do Nodo.
2 - Remonte o TreeView.
3 - Faça a pesquisa em busca do mesmo AbsoluteIndex.
4 - Selecione o nodo que possui o mesmo AbsoluteIndex.
Veja o código abaixo:
No código acima assumi o TTreeView com o nome tvArvore e formulário ao qual ele está associado como fMain.
A rotina pode demorar um pouco (dependendo da posição do nodo dentro do TTreeView) mas resolve.
O problema é:
Eu tenho um nodo selecionado no meu TreeView. Só que eu tenho que remontar ele pra alterar a imagem. Deseja-se que o mesmo nodo esteja selecionado após a remontagem do TreeView.
A solução taí embaixo:
1 - Guarde a propriedade [b:72a8211577]AbsoluteIndex[/b:72a8211577] do Nodo.
2 - Remonte o TreeView.
3 - Faça a pesquisa em busca do mesmo AbsoluteIndex.
4 - Selecione o nodo que possui o mesmo AbsoluteIndex.
Veja o código abaixo:
procedure TfMain.tvArvoreDblClick(Sender: TObject); var index: integer; begin // Abriu e editou o nodo { ... ... ... } // Guarda o AbsoluteIndex index := tvArvore.Selected.AbsoluteIndex; // Remonta o TreeView { ... ... ... } // Seleciona o nodo novamente seleciona(Index); {esta rotina irá selecionar novamente o nodo desejado. O código esta abaixo.} end; procedure TfMain.seleciona(Index: integer); var Nodo : TTreeNode; begin // Pega o primeiro nodo Nodo := tvArvore.Items.GetFirstNode; // Enquanto tiver nodos pra frente faça while Nodo.GetNext <> nil do begin // Se o AbsoluteIndex bateu seleciona if Nodo.AbsoluteIndex = Index then begin tvArvore.Selected := Nodo; break; end else // senão vai pro próximo Nodo := Nodo.GetNext; end; end;
No código acima assumi o TTreeView com o nome tvArvore e formulário ao qual ele está associado como fMain.
A rotina pode demorar um pouco (dependendo da posição do nodo dentro do TTreeView) mas resolve.
GOSTEI 0

Pablo Mora
31/03/2004
Galera sei que esse tópico já foi solucionado, porém é bom compartilhar, pois assim outros que talvez vá tentar usar esse componente e vai com certeza quebrar a cabeça assim como eu, só não quebrei a minha cabeça na parede ainda porque ainda, eu disse, ainda estou um pouco são, enfim, eu estava quebrando a cabeça aqui em como usar esse componente com index, ou seja, com os nós já criados e indexados (0,1,2,3.....) e a parada é fácil, fácil....porém nem todos conhecem ou tem tempo de ficar testando cada função e propriedade do componente......enfim achei a malditinha da propriedade pra fazer a coisa funcionar.......
E o comando ééééé.......
Bom galera é esse comandinho ai pra trabalhar com index no TreeView.....
Espero que ajude alguém
Abraços
E o comando ééééé.......
TreeView1.Selected.AbsoluteIndex
Bom galera é esse comandinho ai pra trabalhar com index no TreeView.....
Espero que ajude alguém
Abraços
GOSTEI 0

Wesley Yamazack
31/03/2004
Opa pessoal, temos um artigo aqui no portal que ensina como trabalhar o componente TreeView.
Fica a dica :)
https://www.devmedia.com.br/quick-tips-trabalhando-com-objeto-no-treeview/15434
[]'
Fica a dica :)
https://www.devmedia.com.br/quick-tips-trabalhando-com-objeto-no-treeview/15434
[]'
GOSTEI 0