Fórum Como achar um nó na treewiew ? #227245

20/04/2004

0

é o seguinte, tenho minha treeview montada e tenho uma tabela q indica se o nó é habilitado ou não, mas não sei como achar o nó sabendo o caption do mesmo.
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

Marlon Spiess

Responder

Posts

20/04/2004

Paullus

Cara...

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.


Responder

Gostei + 0

20/04/2004

Vinicius2k

Colega,

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+


Responder

Gostei + 0

20/04/2004

Paullus

Colega, Pelo caption vc vai ter que fazer um for comparando o texto... acredito ser a única forma...


Tenho quase certeza de que se ele fizer desta maneira os nós-filhos não serão pegos...


Responder

Gostei + 0

21/04/2004

Vinicius2k

Tenho quase certeza de que se ele fizer desta maneira os nós-filhos não serão pegos...


Por que não seriam? note q o uso Items.Index e não Items.AbsoluteIndex...
T+


Responder

Gostei + 0

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

Aceitar