Fórum Montar TreeView com um banco usando ADO #407152
28/08/2011
0
Bom dia,
Gostaria de preencher um Treeview com os dados de uma tabela usando ADO. Achei essa rotina na internet mas não sei como adaptar. Alguém poderia me dar uma ajuda?
A tabela é essa (Access):
Men_Codigo ->Número
Men_Nome -> Texto
Men_CodigoPai - Número
Men_Existe -> Sim/Não
O código é esse:
procedure AddItemMenuTree(ItemMenu : TMenuItem; Nivel : integer; var node1:tTreeNode);
var I : integer;
node2 :Ttreenode;
s_str :string;
begin
if Nivel = 0 then
Begin
s_str := ItemMenu.Caption;
Delete(s_str, Pos('&', ItemMenu.Caption), 1);
node1 := Form1.TreeView1.Items.Add(nil, s_str);
end;
for I := 0 to ItemMenu.Count-1 do
begin
if (ItemMenu.Items[I].Caption <> '-') then
Begin
s_str := ItemMenu.Items[I].Caption;
Delete(s_str, Pos('&', ItemMenu.Items[I].Caption), 1);
node2 := Form1.TreeView1.Items.AddChild(node1,s_str);
end;
if ItemMenu.Items[I].Count > 0 then
AddItemMenuTree(ItemMenu.Items[I],Succ(Nivel),node2);
end;
end;
No evento do botão, colocar
procedure Tf_beta.Button1Click(Sender: TObject);
var
i_i :integer;
Node :TTreeNode;
begin
for i_i := 0 to Mainmenu1.Items.Count -1 do
AddItemMenuTree(MainMenu1.Items[i_i], 0, node);
end;
Estou precisando muuuuuuito disso. Obrigado, por enquanto.
Gostaria de preencher um Treeview com os dados de uma tabela usando ADO. Achei essa rotina na internet mas não sei como adaptar. Alguém poderia me dar uma ajuda?
A tabela é essa (Access):
Men_Codigo ->Número
Men_Nome -> Texto
Men_CodigoPai - Número
Men_Existe -> Sim/Não
O código é esse:
procedure AddItemMenuTree(ItemMenu : TMenuItem; Nivel : integer; var node1:tTreeNode);
var I : integer;
node2 :Ttreenode;
s_str :string;
begin
if Nivel = 0 then
Begin
s_str := ItemMenu.Caption;
Delete(s_str, Pos('&', ItemMenu.Caption), 1);
node1 := Form1.TreeView1.Items.Add(nil, s_str);
end;
for I := 0 to ItemMenu.Count-1 do
begin
if (ItemMenu.Items[I].Caption <> '-') then
Begin
s_str := ItemMenu.Items[I].Caption;
Delete(s_str, Pos('&', ItemMenu.Items[I].Caption), 1);
node2 := Form1.TreeView1.Items.AddChild(node1,s_str);
end;
if ItemMenu.Items[I].Count > 0 then
AddItemMenuTree(ItemMenu.Items[I],Succ(Nivel),node2);
end;
end;
No evento do botão, colocar
procedure Tf_beta.Button1Click(Sender: TObject);
var
i_i :integer;
Node :TTreeNode;
begin
for i_i := 0 to Mainmenu1.Items.Count -1 do
AddItemMenuTree(MainMenu1.Items[i_i], 0, node);
end;
Estou precisando muuuuuuito disso. Obrigado, por enquanto.
Frederico Brigatte***
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)