Fórum TreeView expandido #231218
10/05/2004
0
Amigos, como faço para que o TreeView de meu sistema já apareça expandido guando o formulário for chamado?
Estou usando:
procedure TF_TreeGrupos.FormActivate(Sender: TObject);
var No1,No2,No3,No4,No5:TTreeNode; Xc:string;
begin
with TreeGrupos.Items do begin
Clear;
TabGrupos.First;
while not TabGrupos.eof do begin
if Length(TabGrupos.FieldByName(´Grupo´).AsString) = 1 then begin
Xc:=TabGrupos.FieldByName(´Grupo´).AsString+´ - ´+TabGrupos.FieldByName(´Descricao´).AsString;
No1:=Add(nil,Xc);
TabGrupos.next;
if Length(TabGrupos.FieldByName(´Grupo´).AsString) = 2 then begin
Xc:=TabGrupos.FieldByName(´Grupo´).AsString+´ - ´+TabGrupos.FieldByName(´Descricao´).AsString;
No2:=AddChild(No1,Xc);
TabGrupos.next;
if Length(TabGrupos.FieldByName(´Grupo´).AsString) = 3 then begin
Xc:=TabGrupos.FieldByName(´Grupo´).AsString+´ - ´+TabGrupos.FieldByName(´Descricao´).AsString;
No3:=AddChild(No2,Xc);
TabGrupos.next;
if Length(TabGrupos.FieldByName(´Grupo´).AsString) = 5 then begin
Xc:=TabGrupos.FieldByName(´Grupo´).AsString+´ - ´+TabGrupos.FieldByName(´Descricao´).AsString;
No4:=AddChild(No3,Xc);
TabGrupos.next;
if Length(TabGrupos.FieldByName(´Grupo´).AsString) = 7 then begin
while not TabGrupos.eof do begin
if Length(TabGrupos.FieldByName(´Grupo´).AsString) < 7 then begin
Break;
end;
Xc:=TabGrupos.FieldByName(´Grupo´).AsString+´ - ´+TabGrupos.FieldByName(´Descricao´).AsString;
No5:=AddChild(No4,Xc);
TabGrupos.Next;
end;
end;
end;
end;
end;
end;
if Length(TabGrupos.FieldByName(´Grupo´).AsString) = 2 then begin
Xc:=TabGrupos.FieldByName(´Grupo´).AsString+´ - ´+TabGrupos.FieldByName(´Descricao´).AsString;
No2:=AddChild(No1,Xc);
TabGrupos.next;
if Length(TabGrupos.FieldByName(´Grupo´).AsString) = 3 then begin
Xc:=TabGrupos.FieldByName(´Grupo´).AsString+´ - ´+TabGrupos.FieldByName(´Descricao´).AsString;
No3:=AddChild(No2,Xc);
TabGrupos.next;
if Length(TabGrupos.FieldByName(´Grupo´).AsString) = 5 then begin
Xc:=TabGrupos.FieldByName(´Grupo´).AsString+´ - ´+TabGrupos.FieldByName(´Descricao´).AsString;
No4:=AddChild(No3,Xc);
TabGrupos.next;
if Length(TabGrupos.FieldByName(´Grupo´).AsString) = 7 then begin
while not TabGrupos.eof do begin
if Length(TabGrupos.FieldByName(´Grupo´).AsString) < 7 then begin
Break;
end;
Xc:=TabGrupos.FieldByName(´Grupo´).AsString+´ - ´+TabGrupos.FieldByName(´Descricao´).AsString;
No5:=AddChild(No4,Xc);
TabGrupos.Next;
end;
end;
end;
end;
end;
if Length(TabGrupos.FieldByName(´Grupo´).AsString) = 3 then begin
Xc:=TabGrupos.FieldByName(´Grupo´).AsString+´ - ´+TabGrupos.FieldByName(´Descricao´).AsString;
No3:=AddChild(No2,Xc);
TabGrupos.next;
if Length(TabGrupos.FieldByName(´Grupo´).AsString) = 5 then begin
Xc:=TabGrupos.FieldByName(´Grupo´).AsString+´ - ´+TabGrupos.FieldByName(´Descricao´).AsString;
No4:=AddChild(No3,Xc);
TabGrupos.next;
if Length(TabGrupos.FieldByName(´Grupo´).AsString) = 7 then begin
while not TabGrupos.eof do begin
if Length(TabGrupos.FieldByName(´Grupo´).AsString) < 7 then begin
Break;
end;
Xc:=TabGrupos.FieldByName(´Grupo´).AsString+´ - ´+TabGrupos.FieldByName(´Descricao´).AsString;
No5:=AddChild(No4,Xc);
TabGrupos.Next;
end;
end;
end;
end;
if Length(TabGrupos.FieldByName(´Grupo´).AsString) = 5 then begin
Xc:=TabGrupos.FieldByName(´Grupo´).AsString+´ - ´+TabGrupos.FieldByName(´Descricao´).AsString;
No4:=AddChild(No3,Xc);
TabGrupos.next;
if Length(TabGrupos.FieldByName(´Grupo´).AsString) = 7 then begin
while not TabGrupos.eof do begin
if Length(TabGrupos.FieldByName(´Grupo´).AsString) < 7 then begin
Break;
end;
Xc:=TabGrupos.FieldByName(´Grupo´).AsString+´ - ´+TabGrupos.FieldByName(´Descricao´).AsString;
No5:=AddChild(No4,Xc);
TabGrupos.Next;
end;
end;
end;
end;
end;
end;
O único problema é que o TreeView aparece recolhido e eu gostaria que o mesmo aparecesse expandido.
É isso!
Estou usando:
procedure TF_TreeGrupos.FormActivate(Sender: TObject);
var No1,No2,No3,No4,No5:TTreeNode; Xc:string;
begin
with TreeGrupos.Items do begin
Clear;
TabGrupos.First;
while not TabGrupos.eof do begin
if Length(TabGrupos.FieldByName(´Grupo´).AsString) = 1 then begin
Xc:=TabGrupos.FieldByName(´Grupo´).AsString+´ - ´+TabGrupos.FieldByName(´Descricao´).AsString;
No1:=Add(nil,Xc);
TabGrupos.next;
if Length(TabGrupos.FieldByName(´Grupo´).AsString) = 2 then begin
Xc:=TabGrupos.FieldByName(´Grupo´).AsString+´ - ´+TabGrupos.FieldByName(´Descricao´).AsString;
No2:=AddChild(No1,Xc);
TabGrupos.next;
if Length(TabGrupos.FieldByName(´Grupo´).AsString) = 3 then begin
Xc:=TabGrupos.FieldByName(´Grupo´).AsString+´ - ´+TabGrupos.FieldByName(´Descricao´).AsString;
No3:=AddChild(No2,Xc);
TabGrupos.next;
if Length(TabGrupos.FieldByName(´Grupo´).AsString) = 5 then begin
Xc:=TabGrupos.FieldByName(´Grupo´).AsString+´ - ´+TabGrupos.FieldByName(´Descricao´).AsString;
No4:=AddChild(No3,Xc);
TabGrupos.next;
if Length(TabGrupos.FieldByName(´Grupo´).AsString) = 7 then begin
while not TabGrupos.eof do begin
if Length(TabGrupos.FieldByName(´Grupo´).AsString) < 7 then begin
Break;
end;
Xc:=TabGrupos.FieldByName(´Grupo´).AsString+´ - ´+TabGrupos.FieldByName(´Descricao´).AsString;
No5:=AddChild(No4,Xc);
TabGrupos.Next;
end;
end;
end;
end;
end;
end;
if Length(TabGrupos.FieldByName(´Grupo´).AsString) = 2 then begin
Xc:=TabGrupos.FieldByName(´Grupo´).AsString+´ - ´+TabGrupos.FieldByName(´Descricao´).AsString;
No2:=AddChild(No1,Xc);
TabGrupos.next;
if Length(TabGrupos.FieldByName(´Grupo´).AsString) = 3 then begin
Xc:=TabGrupos.FieldByName(´Grupo´).AsString+´ - ´+TabGrupos.FieldByName(´Descricao´).AsString;
No3:=AddChild(No2,Xc);
TabGrupos.next;
if Length(TabGrupos.FieldByName(´Grupo´).AsString) = 5 then begin
Xc:=TabGrupos.FieldByName(´Grupo´).AsString+´ - ´+TabGrupos.FieldByName(´Descricao´).AsString;
No4:=AddChild(No3,Xc);
TabGrupos.next;
if Length(TabGrupos.FieldByName(´Grupo´).AsString) = 7 then begin
while not TabGrupos.eof do begin
if Length(TabGrupos.FieldByName(´Grupo´).AsString) < 7 then begin
Break;
end;
Xc:=TabGrupos.FieldByName(´Grupo´).AsString+´ - ´+TabGrupos.FieldByName(´Descricao´).AsString;
No5:=AddChild(No4,Xc);
TabGrupos.Next;
end;
end;
end;
end;
end;
if Length(TabGrupos.FieldByName(´Grupo´).AsString) = 3 then begin
Xc:=TabGrupos.FieldByName(´Grupo´).AsString+´ - ´+TabGrupos.FieldByName(´Descricao´).AsString;
No3:=AddChild(No2,Xc);
TabGrupos.next;
if Length(TabGrupos.FieldByName(´Grupo´).AsString) = 5 then begin
Xc:=TabGrupos.FieldByName(´Grupo´).AsString+´ - ´+TabGrupos.FieldByName(´Descricao´).AsString;
No4:=AddChild(No3,Xc);
TabGrupos.next;
if Length(TabGrupos.FieldByName(´Grupo´).AsString) = 7 then begin
while not TabGrupos.eof do begin
if Length(TabGrupos.FieldByName(´Grupo´).AsString) < 7 then begin
Break;
end;
Xc:=TabGrupos.FieldByName(´Grupo´).AsString+´ - ´+TabGrupos.FieldByName(´Descricao´).AsString;
No5:=AddChild(No4,Xc);
TabGrupos.Next;
end;
end;
end;
end;
if Length(TabGrupos.FieldByName(´Grupo´).AsString) = 5 then begin
Xc:=TabGrupos.FieldByName(´Grupo´).AsString+´ - ´+TabGrupos.FieldByName(´Descricao´).AsString;
No4:=AddChild(No3,Xc);
TabGrupos.next;
if Length(TabGrupos.FieldByName(´Grupo´).AsString) = 7 then begin
while not TabGrupos.eof do begin
if Length(TabGrupos.FieldByName(´Grupo´).AsString) < 7 then begin
Break;
end;
Xc:=TabGrupos.FieldByName(´Grupo´).AsString+´ - ´+TabGrupos.FieldByName(´Descricao´).AsString;
No5:=AddChild(No4,Xc);
TabGrupos.Next;
end;
end;
end;
end;
end;
end;
O único problema é que o TreeView aparece recolhido e eu gostaria que o mesmo aparecesse expandido.
É isso!
.com
Curtir tópico
+ 0
Responder
Posts
10/05/2004
Marcelo Saviski
é algo como:
[color=green:308254ddcc]TreeVieew.Expand(...)
NodeTal.Expand(...);[/color:308254ddcc]
no lugar nos ... você coloca True ou False, false se for para expandir somente o nodo, True se for para expandir o nodo e todos os sub-nodos
[color=green:308254ddcc]TreeVieew.Expand(...)
NodeTal.Expand(...);[/color:308254ddcc]
no lugar nos ... você coloca True ou False, false se for para expandir somente o nodo, True se for para expandir o nodo e todos os sub-nodos
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)