Fórum Como Pegar o Item Indexado ou selecionado no Treeview #223520

31/03/2004

0

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

Grato a Todos.


Pauldiano66

Pauldiano66

Responder

Posts

31/03/2004

Paullus

Cara, tem como você explicar melhor? Não entendi a sua pergunta (item indexado!?!?!?!!?).

Pra pegar o item selecionado use:

1
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:


Responder

Gostei + 0

31/03/2004

Pauldiano66

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.


Responder

Gostei + 0

31/03/2004

Paullus

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?


Responder

Gostei + 0

31/03/2004

Pauldiano66

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.


Responder

Gostei + 0

31/03/2004

Paullus

Ligaê...
(061) 9648 6086


Responder

Gostei + 0

31/03/2004

Paullus

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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
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.


Responder

Gostei + 0

07/12/2017

Pablo Mora

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 ééééé.......

1
TreeView1.Selected.AbsoluteIndex


Bom galera é esse comandinho ai pra trabalhar com index no TreeView.....

Espero que ajude alguém

Abraços
Responder

Gostei + 0

14/12/2017

Wesley Yamazack

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

[]'

Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar