Fórum MainMenu em Banco #440075
18/04/2013
0
Estou precisando gravar a estrutura do MainMenu numa tabela:
Codigo - Integer
Descricao - Varchar(30)
CodigoPai - Integer
A tabela é essa, mas podem sugerir outras. Preciso pegar os menus e sub-menus e gravar no banco de dados.
Obrigado.
Frederico Brigatte***
Curtir tópico
+ 0Posts
18/04/2013
Frederico Brigatte***
Gostei + 0
18/04/2013
Joel Rodrigues
Pelo que vi, você já tem vários posts abertos sobre isso. Você está tentando implementar um controle de acesso?
Gostei + 0
18/04/2013
Frederico Brigatte***
Gostei + 0
18/04/2013
Joel Rodrigues
procedure TForm2.CriarNoTreeView(item: TMenuItem);
var
i: Integer;
begin
//dataSet.fieldbyname('descricao').value := item.caption
//...gravar o que precisar
for i := 0 to item.Count -1 do
begin
CriarNoTreeView(item.Items[i]);
end;
end;
Note que primeiramente se grav o item no banco e em seguida repetimos o processo para os filhos desse item.
Para chamar o método, poderia ser feito o seguinte:
for i := 0 to MainMenu1.Items.Count -1 do
begin
CriarNoTreeView(MainMenu1.Items[i]);
end;Gostei + 0
18/04/2013
Frederico Brigatte***
No código abaixo nas parte comentada é onde vai gravar?
//dataSet.fieldbyname('descricao').value := item.caption
//...gravar o que precisar
Como seria a parte de gravar?
procedure TForm2.CriarNoTreeView(item: TMenuItem);
var
i: Integer;
begin
//dataSet.fieldbyname('descricao').value := item.caption
//...gravar o que precisar
for i := 0 to item.Count -1 do
begin
CriarNoTreeView(item.Items[i]);
end;
end;
Gostei + 0
18/04/2013
Frederico Brigatte***
procedure TForm2.CriarNoTreeView(item: TMenuItem);
var
i: Integer;
begin
//dataSet.fieldbyname('descricao').value := item.caption
//...gravar o que precisar
dataSet.Post;
for i := 0 to item.Count -1 do
begin
CriarNoTreeView(item.Items[i]);
end;
end;
Gostei + 0
18/04/2013
Joel Rodrigues
Gostei + 0
18/04/2013
Frederico Brigatte***
DataSet.Append;
Precisa também do
DataSet.ApplyUpdates(0);
no final do código, né?
Gostei + 0
18/04/2013
Joel Rodrigues
Gostei + 0
18/04/2013
Frederico Brigatte***
Gostei + 0
18/04/2013
Frederico Brigatte***
Como ficaria a linha para gravar o Codigo e CodigoPai no banco?
A tabela é assim:
Codigo - Integer
Descricao - Varchar
CodigoPai - Integer
Gostei + 0
18/04/2013
Frederico Brigatte***
dataSet.fieldbyname('codigo').value := item.caption // aqui não sei como fica
dataSet.fieldbyname('descricao').value := item.caption
dataSet.fieldbyname('codigopai').value := item.caption // aqui não sei como fica
Gostei + 0
18/04/2013
Joel Rodrigues
Gostei + 0
18/04/2013
Frederico Brigatte***
Gostei + 0
18/04/2013
Joel Rodrigues
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)