Parametrizar Grade Filha (vinculada a Grade Mestre)



  • Existe alguma forma de colocar parâmetros adicionais na Grade Filha sem perder o vínculo com a Grade Mestre?

    Obrigada.


  • Sim, da mesma forma que é feito um vinculo normal..
    Um tipo de filtro não anula o outro..


  • Olá, acabo de encontrar esse tópico no site da softwell (http://suporte.softwell.com.br/maker/manual/pt/maker_2/formulario/componentes/grade.htm)

    >> Não é possível filtrar o componente grade pelas propriedades Parâmetros e Grade Mestre simultaneamente.


  • Qual a versão do seu Maker e Webrun?


  • Maker 2.6.1.39
    Webrun 2.6.2.16


  • Creio q essa modificação foi feita apartir da 2.7 :?


  • Quem não tem a 2.7 se vira nos 30 com fluxos então...

    :| :| :| :|


  • :cry: ...
    Calma vamos fazer assim...
    Coloca variaveis de sessao para filtrar o Dataset da Grid pelos componentes

    Ou seja ao modificar os componentes vc seta as variaveis de sessao.. e
    dá um refresh na Grid...


  • Olá, obrigada pelas dicas.

    Resolvi meu problema utilizando a Função "Grade-FiltrarGrade" ao alterar o valor do meu componente.

    Além do filtro adicional, tenho que refazer o filtro grade mestre em meu fluxo, pois a função "reseta" todos os filtros da grade.


  • Bom dia, achei que minha questão estava 100% resolvida mas ainda não está.

    Tenho os seguintes componentes: Grade1, Grade2 e o Componente1.
    Como minha versão do Maker é a 2.6 não consigo filtrar o componente Grade 2 pelas propriedades Parâmetros e Grade Mestre simultaneamente.

    Então, "Ao Modificar" o Componente1 utilizo a função "Grade - Filtrar Grade" para filtrar a Grade2 pelo valor do componente e grade mestre.

    [b][color=#FF0000]Problema:[/color][/b] Toda vez que clico em outro registro da Grade1 meu filtro na Grade2, pelo Componente1 é perdido, mesmo que eu coloque a função "Grade - Filtrar Grade" no evento ao clicar da Grade1 (Grade Mestre).


  • Olá,
    Então como eu tinha dito acima, a melhor forma de fazer é filtrando direto no dataset com com variaveis de sessão. ;)


  • Resolvido, o problema estava na forma de obter a linha selecionada da Grade Mestre no evento "Ao Clicar" da grade que é diferente da forma de obter a linha no evento "Ao Modificar" do componente.

    Se alguém passar pelo mesmo problema encontrei a resposta aqui: http://suporte.softwell.com.br/maker/manual/pt/maker_2/formulario/componentes/grade.htm

    Na seção: [b]Parâmetros automáticos do componente Grade[/b]


  • [quote="Tarso Matos"]Olá,
    Então como eu tinha dito acima, a melhor forma de fazer é filtrando direto no dataset com com variaveis de sessão. ;)[/quote] Olá.

    Na verdade não entendi a solução proposta por você, quando você diz: filtrar no dataset com variável de sessão, você quer dizer filtrar o sql do formulário origem da grade?

    Se a resposta for positiva, como se coloca o filtro?


  • ex:

    select * from fr_acao where aco_codigo = :FUNCAO_sessao_<nome da variavel de sessao>


    esse seria o select da sua grade...
    quando o seu componente for alterado vc alteraria o valor da variavel....
    ;)


  • Desconfio que esta solução também "desative" o filtro grade mestre.

    Pois tentei uma solução semelhante com =:COMPONENTE_... e o filtro era perdido, mas obrigada por compartilhar, quem sabe não utilize esta solução em outros formulários.


  • Ao inserir qualquer critério no Dataset do Grid (grade filha) o parâmetro Grade Mestre é perdido.

    Seja critério Componente, Função sessão, etc.

    Alguma solução?


  • Como fazer a ligação Grade Mestre via critério no Dataset da Grade Filha? Talvez seja uma solução.


  • A solução variável de sessão para filtra a grid funciona, o problema é que minha variável de sessão tinha [i]underline[/i].

    + uma questão ante de fechar o tópico, como [b]ignorar nul[/b]o com variável de sessão?


  • Como o filtro é no select você tem que tratar com as funções do banco...

    ex: coalesce(:var,0)

    mas infelizmente em questão de banco não posso ajudar ;)


  • Ok, consegui aqui obrigada :)

Log in to reply