[RESOLVIDO] - Como fazer um GRID com varios niveis ?

Saudações a todos!!

Estou tentando fazer um GRID que seja tree view de vários níveis ex :

1----+ Material
| 1–+ Limpeza
| | 1— Sacos Plástico
| | 2— Detergente
| 2-+ Escritório
| 1–+Canetas
| 1— Preta
| 2— Azul
| 3—Vermelha
2----+ Cozinha
1-- Panelas
2-+ Alimentos
1–+Massas
1–+ Macarrão
1— Talharim
2— Espaguete
3–+ nhoque
1–Carne
2–Frango
2— Azul
3—Vermelha

Clicando em cada descrição pode-se incluir um novo nível!

as tabelas já criadas.!! tenho uma tabela com dois campos um guarda quem e o registro PAI. e um outro para armazena o nº da opção

Obrigado.

Poderia usar quebras estáticas e um campo tipo imagehtml para inserir e recarregar a listagem.

Felipe.nardi…

Obrigado pela atenção!

Nunca tinha usado a quebras estáticas, mas acabei de testar…

a quebra fica somente no primeiro e segundo nível.

1----+ Material
| 1–+ Limpeza
| 2-+ Escritório
2----+ Cozinha
1-- Panelas
2-+ Alimentos

Quanto faço a inclusão do terceiro nivel

1----+ Material
| 1–+ Limpeza
| | 1— Sacos Plástico
| 2-+ Escritório
2----+ Cozinha
1-- Panelas
2-+ Alimentos

Fica assim…

1–+ Limpeza
| 1— Sacos Plástico
1----+ Material
| 1–+ Limpeza
| 2–+ Escritório
2----+ Cozinha
1-- Panelas
2-+ Alimentos

Acho que vou ter que fazer na mão isso :frowning:

Já tentou um menu dinâmico?

O menu funcionaria como uma grid e o click no item abre o formulário passando abrindo aquele registro.

https://forum.scriptcase.com.br/index.php/topic,2773.msg52409.html#msg52409

https://youtu.be/iAvJmwanjZ8

Haroldo,

Não tentei… mas entendi… a ideia!

Vou implementar aqui, e dou o retorno.

Para quem quiser, já tinha visto essa solução.!! https://github.com/jonmiles/bootstrap-treeview

que o resultado final ficaria com um MENU mesmo.!

Muito obrigado pela atenção.

Deu erro no código que peguei no post, então resolvi fazer o mais simples possível.!

Estou usnando aplicação “menu” no evento “onLoad


/*

Usei sem aspas devido o exemplo no manual, mas mesmo colocando 'aspas duplas' e 'aspas simples' o mesmo erro!

*/
sc_appmenu_reset(menu_cadastro); 
sc_appmenu_create(menu_cadastro);

/*
sc_appmenu_add_item("Menu_Nome", 
					"Id_Item", 
					"Id_Pai", 
					"Label", 
					"Aplicação", 
					"Parâmetro", 
					"Icone", 
					"Hint", 
					"Target");
*/
sc_appmenu_add_item('menu_cadastro',1,0,'Cadastro','cadastro.php',"","","","_parent");
sc_appmenu_add_item('menu_cadastro',1,1,'Saúde','cadastro.php',"","","","_parent");

/*

O que esperava :

1 - Cadastro +
                     +-- 1 - Saúde
			 
*/

mas o retorno sempre o mesmo erro !!

Atenção Undefined index: menu_cadastro Atenção Undefined index: menu_cadastro

Uso Scriptcase 9.2.004

sc_appmenu_reset(menu_cadastro); <-- qual o nome da sua app menu?
sc_appmenu_create(menu_cadastro); <-- tem que usar o nome da sua app menu.

Haroldo,

realmente não tinha usando.!

e olha que tá escrito no manual, li agora depois do seu post.

:frowning:

vlw.

A dica do Haroldo é quente!

Vou precisar implementar também e dou o retorno nas próximas semanas.

Vamos manter quente este tópico.

Amigos!!

Tudo quase pronto!!

ficou legal, há não ser por um pequeno detalhe no meu caso, o menu dinâmico chamar um form que vai atualizar o próprio menu dinâmico.

Assim quando Incluir, Alterar e Excluir essas ações deveriam refletir no final do processo no menu dinâmico, mas não acontece…

tentei.

chamar novamente no final do form pelo ‘sc_redir’ o menu dinâmico, mas o que acontece e ele abre em novo e não atualizar.

notei que não existe uma geração de evento no menu dinâmico quando a aplicação que ele chamou e fechada!

também tentei ver se essa opção do menu da aplicação que chama o menu dinâmico pudesse ter uma tecla de atalho para eu chamar, mas não tem.

tenho que ir no menu da aplicação e chamar ele novamente para atualizar.!

bem tá ótimo… para quem tava perdido para iniciar… isso e realmente um detalhe…

Obrigado Haroldo. !!

Coloquei esse código no onApplicationInit da aplicação

[code]?>

Atualiza <?php[/code]

criou um botão para o usuário clicar e atualizar!!

:slight_smile:

use assim no formulário, evento onvalidatesucess ou afterinisert e afterupdate e afterdelete: sc_redir(menu,’_parent’);

Haroldo,

funcionou nos afterinisert e afterupdate e afterdelete !! :wink:

lembrando que que tive que colocar o sc_commit_trans (); antes do sc_redir(menu,’_parent’);

Testei no onvalidatesucess, mas mesmo com o sc_commit_trans (); a alteração não ficava gravada.!!

Obrigado Haroldo.!!

já vou convencer a esposa… nosso próximo filho, nome " Haroldo "

:slight_smile:

Não faz isso com a criança não… Coitada.