Fórum Como achar um nó na treewiew ? #227245
20/04/2004
0
Segue exemplo:
treeview
+ arquivos
- clientes
- produtos
+ editar
- copiar
- colar
.
.......
assim por diante, eu tenho o texto ´produtos´ em uma tabela e quero deletar ele da treeview.
Caso alguem possa me ajudar, desde já muito obrigado.
Marlon Spiess
Curtir tópico
+ 0Posts
20/04/2004
Paullus
A única maneira que eu sei é caminhando na árvore (e se ela for grande pode demorar). O código tá aí embaixo.
procedure TfMain.procuraNodo(strTexto : string); var Nodo : TTreeNode; begin Nodo := TreeView.Items.GetFirstNode; while Nodo.getNextSibling <> nil then begin if nodo.Text = strTexto then begin TreeView.Selected := Nodo; Break; end Nodo := Nodo.getNextSibling; end; end;
obs.: eu não tive tempo de testar... se não funcionar tente GetNext ao invés de getNextSibling. :wink:
Boa sorte.
Gostei + 0
20/04/2004
Vinicius2k
Pelo caption vc vai ter que fazer um for comparando o texto... acredito ser a única forma...
Teste 1
|_ Teste 1.1
|_ Teste 1.2
Teste 2
|_ Teste 2.1
|_ Teste 2.2
Teste 3
Teste 4
procedure TForm1.Button1Click(Sender: TObject); var i: integer; begin for i:= 0 to (TreeView1.Items.Count - 1) do begin if TreeView1.Items[i].Text = ´teste 2.1´ then Showmessage(´Estou no Node ´ + IntToStr(i)); end; end;
T+
Gostei + 0
20/04/2004
Paullus
Tenho quase certeza de que se ele fizer desta maneira os nós-filhos não serão pegos...
Gostei + 0
21/04/2004
Vinicius2k
Por que não seriam? note q o uso Items.Index e não Items.AbsoluteIndex...
T+
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)