Gravar dados da grade



  • Olá tenho 2 grades que trazem informações de uma determinada tabela do banco de dados, e gostaria de gravar os dados da grade em uma outra tabela.
    Ex.: Tenho uma tela de Processo que grava informações do processo, nesta mesma tela tenho 2 grades que trazem a lista de documentos e outra com as exigências do documento, gostaria de gravar os documentos e as suas exigências em uma terceira tabela (DOCUMENTO_EXIGENCIA_DO_PROCESSO).
    Obrigado.


  • O evento que você pode fazer isso é o "Antes de inserir" do formulário da Grade.


  • Concordo com você Saeger, o que não estou conseguindo fazer é pegar os dados da grade e gravar na tabela que eu quero.
    Obrigado!


  • Quando é que os dados da grade vão ser enviados para tabela? Seria ao clicar de um botão!?


  • [quote="uallasfontes"]Quando é que os dados da grade vão ser enviados para tabela? Seria ao clicar de um botão!?[/quote] Ao gravar, mas se tiver algum jeito mesmo que seja ao clicar em um botão, eu agradeço e tento adaptar para a minha necessidade.
    Obrigado!


  • Pelo que entendi "DOCUMENTO_EXIGENCIA_DO_PROCESSO" é uma tabela associativa. As duas grades (documentos e exigências) retornam dados já previamente preenchidos, ou esses dados são criados no momento da criação do "Processo"?


  • É mais ou menos isso aí, os dados ja vem previamente preenchidos. Ao clicar no documento me mostra as exigências para aquele documento. Eu gostaria de gravar em uma outra tabela (DOCUMENTO_EXIGENCIA_DO_PROCESSO) os registros das duas grades: Documentos e Exigências.
    Obrigado!


  • Ok, nesse caso você pode utilizar apenas uma grade, apontando para a tabela associativa. Para os IDs de documentos e exigências dessa tabela, você utiliza duas listas dinâmicas, uma para cada campo.

    Levei em consideração que sua tabela está assim:

    DOCUMENTO_EXIGENCIA_DO_PROCESSO
    - id_documentos;
    - id_exigencias;
    - id_processo;

    Ex.: você irá clicar em novo registro do processo, na grade haverá duas listas dinâmicas, uma apontando para documentos e outra apontando para exigência, o usuário irá clicar na lista de documentos, irá selecionar o item desejado, e fará o mesmo para exigência. Após isso, ao gravar no form principal, serão inseridos os dados no processo e os IDs na tabela associativa (DOCUMENTO_EXIGENCIA_DO_PROCESSO).
    Lembrando que as listas dinâmicas iriam apontar para as tabelas: documentos e exigências.

    Seria +/- isso?


  • Boa idea Junior é +/- isso aí, porem eu tenho um check box (ok) na grade de exigencia, onde só gravaria no banco se o "ok" estivesse marcado, logo eu acho que tem mesmo que ter duas grades. Mas você está entendendo o q eu preciso o caminho é esse, sou iniciante em maker não estou conseguindo resolver.
    A tabela DOCUMENTO_EXIGENCIA_DO_PROCESSO é exatamente desse jeito.


  • Ok, nesse caso então sugiro que utilize o evento "depois de inserir" do formulário principal. Nesse momento você irá obter os dados inseridos na grade para documentos e exigências, para isso basta percorrê-las utilizando algumas funções da categoria "Grade", como: Grade - Obter Total de Linhas e Grade - Obter valor.
    Para obter o registro que acabou de ser inserido no processo, basta passar o campo (relacionado a chave primária) como parâmetro de entrada no fluxo associado ao evento.


  • Não entendi. Selecionar linha, não é necessário para percorrer a grade, com o total de linhas e utilizando obter valor, basta utilizar um laço para percorrê-la, como se estivesse percorrendo uma lista, um array.


  • É porque ao clicar em cada documento da grade DOCUMENTO automaticamente exibe na grade EXIGENCIA as exigências do documento selecionado, para o usuário poder informar se está ok ou não.

Log in to reply