Autor Tópico: Ligação em um Grid não funciona quando o mesmo está em um Master/Detalhe  (Lida 2166 vezes)

adrianacombat

  • Avançado
  • ****
  • Mensagens: 307
    • Email
Criei um Grid com uma ligação para um Formulário, funciona perfeitamente, o ícone do lápis aparece ao lado esquerdo e quando clicamos vai para o formulário de edição do registro clicado.
Porém, quando em outro formulário coloco a mesma Grid em um Master/Detalhe, o ícone do lápis que é a ligação com meu formulário de edição não aparece na Grid dentro do Bloco.

Alguém sabe pq?

Não estou usando um formulário com Grid editável neste caso, pois existem muitos campos no formulário. O que eu queria era, a Grid com alguns campos e o ícone do lápis para levar ao formulário de edição. (como acontece sem problemas fora do Master/Detalhes)

Aguardo um retorno de vcs, obrigada.

Cleyton Euler

  • Expert
  • *****
  • Mensagens: 1149
    • Associação de Usuários Scriptcase
    • Email
Re: Ligação em um Grid não funciona quando o mesmo está em um Master/Detalhe
« Responder #1 Online: Janeiro 31, 2011, 01:55:27 pm »
Vc tem uma aplicação de consulta com uma ligação para um formulário mestre/detalhe?
Associação de Usuários Scriptcase
http://www.auscriptcase.com.br

Consultoria Scriptcase Versão 5
http://www.infinitusweb.com.br

Leandro Bitencourt

  • Iniciante
  • **
  • Mensagens: 96
    • Email
Re:Ligação em um Grid não funciona quando o mesmo está em um Master/Detalhe
« Responder #2 Online: Dezembro 03, 2013, 02:52:37 pm »
isso ocorre comigo também, como proceder ?
Leandro Bitencourt
Programmer
Skype: leandro.bittencourt79
www.copaminformatica.com.br

paulomarcelo

  • Expert
  • *****
  • Mensagens: 638
    • Email
Re:Ligação em um Grid não funciona quando o mesmo está em um Master/Detalhe
« Responder #3 Online: Dezembro 04, 2013, 10:51:11 am »

O botão vai sumir mesmo, é um comportamento do scriptcase, você pode criar um campo imagem html na grid de detalhe e fazer uma ligação de campo para o form ai vai funcionar.

Criei um Grid com uma ligação para um Formulário, funciona perfeitamente, o ícone do lápis aparece ao lado esquerdo e quando clicamos vai para o formulário de edição do registro clicado.
Porém, quando em outro formulário coloco a mesma Grid em um Master/Detalhe, o ícone do lápis que é a ligação com meu formulário de edição não aparece na Grid dentro do Bloco.

Alguém sabe pq?

Não estou usando um formulário com Grid editável neste caso, pois existem muitos campos no formulário. O que eu queria era, a Grid com alguns campos e o ícone do lápis para levar ao formulário de edição. (como acontece sem problemas fora do Master/Detalhes)

Aguardo um retorno de vcs, obrigada.

Leandro Bitencourt

  • Iniciante
  • **
  • Mensagens: 96
    • Email
Re:Ligação em um Grid não funciona quando o mesmo está em um Master/Detalhe
« Responder #4 Online: Dezembro 04, 2013, 12:00:07 pm »

O botão vai sumir mesmo, é um comportamento do scriptcase, você pode criar um campo imagem html na grid de detalhe e fazer uma ligação de campo para o form ai vai funcionar.

Porém o que quero é a edição do mesmo em iframe, igual a ligação de uma grid com o formulário de edição, Modo de operação do link "Iframe".
Leandro Bitencourt
Programmer
Skype: leandro.bittencourt79
www.copaminformatica.com.br

paulomarcelo

  • Expert
  • *****
  • Mensagens: 638
    • Email
Re:Ligação em um Grid não funciona quando o mesmo está em um Master/Detalhe
« Responder #5 Online: Dezembro 04, 2013, 12:49:56 pm »
Se você colocar na grd do detalhe um campo criado do tipo imagem html e fizer a ligação de campo pára o form acho que dá certo.

Erikson Flávio

  • Iniciante
  • **
  • Mensagens: 71
    • Email
Re:Ligação em um Grid não funciona quando o mesmo está em um Master/Detalhe
« Responder #6 Online: Fevereiro 06, 2014, 12:18:22 am »
Leandro,

Não sei se ainda está com o problema mencionado ou se já descobriu um contorno que resolva.
Achei seu post porque passei ontem pelo mesmo problema e fiz n pesquisas e testes sem sucesso. Mesmo fazendo o que sugeriram de criar um campo imagem HTML com link para o formulário de edição temos o problema de que continuaremos não tendo botão algum sem ter registros no detalhe (o que acontece logo que inserimos o mestre).
De tudo que testei, a melhor solução que encontrei e a que estou adotando a partir de agora para casos assim é a relatada abaixo:
Vamos supor o cadastro de Pedido e Ítens com exemplo, para facilitar o entendimento.
A única modificação que precisa fazer na grid é colocar um variável na cláusula WHERE do SQL (Ex.: id_pedido = [var_id_pedido]).
Ao invés de criar uma relação Mestre/Detalhe com a grid, crie um botão no formulário Mestre com uma ligação para o grid dos detalhes. Nos atributos da ligação ele vai pedir valor para a variável criada na grid (var_id_pedido) e você atribui a ela o campo do Pedido que faz a ligação. Importante: caso o atributo de ligação seja um campo cujo valor seja criado apenas ao inserir no banco (auto_increment, sequence) marque para habilitar o botão apenas na atualização, pois durante o insert você ainda não terá o valor nesse campo.
Pronto!
A única perda é que não terá a grid de ítens do pedido apresentada logo abaixo do pedido, mas com trabalhinho consegue fazer ficar assim também. Eu não me dei ao trabalho porque achei melhor da forma como ficou.
Você ainda tem a vantagem de nem precisar criar a grid, caso não queira, abrindo já direto o form com a navegação habilitada e o botão novo.
Desenvolvedor PHP/Java/Oracle/MySQL - Veterano
ScriptCase - Intermediário

Leandro Bitencourt

  • Iniciante
  • **
  • Mensagens: 96
    • Email
Re:Ligação em um Grid não funciona quando o mesmo está em um Master/Detalhe
« Responder #7 Online: Fevereiro 06, 2014, 10:21:07 am »
Leandro,

Não sei se ainda está com o problema mencionado ou se já descobriu um contorno que resolva.
Achei seu post porque passei ontem pelo mesmo problema e fiz n pesquisas e testes sem sucesso. Mesmo fazendo o que sugeriram de criar um campo imagem HTML com link para o formulário de edição temos o problema de que continuaremos não tendo botão algum sem ter registros no detalhe (o que acontece logo que inserimos o mestre).
De tudo que testei, a melhor solução que encontrei e a que estou adotando a partir de agora para casos assim é a relatada abaixo:
Vamos supor o cadastro de Pedido e Ítens com exemplo, para facilitar o entendimento.
A única modificação que precisa fazer na grid é colocar um variável na cláusula WHERE do SQL (Ex.: id_pedido = [var_id_pedido]).
Ao invés de criar uma relação Mestre/Detalhe com a grid, crie um botão no formulário Mestre com uma ligação para o grid dos detalhes. Nos atributos da ligação ele vai pedir valor para a variável criada na grid (var_id_pedido) e você atribui a ela o campo do Pedido que faz a ligação. Importante: caso o atributo de ligação seja um campo cujo valor seja criado apenas ao inserir no banco (auto_increment, sequence) marque para habilitar o botão apenas na atualização, pois durante o insert você ainda não terá o valor nesse campo.
Pronto!
A única perda é que não terá a grid de ítens do pedido apresentada logo abaixo do pedido, mas com trabalhinho consegue fazer ficar assim também. Eu não me dei ao trabalho porque achei melhor da forma como ficou.
Você ainda tem a vantagem de nem precisar criar a grid, caso não queira, abrindo já direto o form com a navegação habilitada e o botão novo.

Eu consegui contornar quase desse modo citado acima, coloquei a claúsula WHERE no grid passado por global, no formulário criei um campo label com iframe chamando a grid detalhe. funcionou como esperado ! obrigado pela resposta vou tentar desse seu novo método parece ser bem mais simples.

Grato desde já.
Leandro Bitencourt
Programmer
Skype: leandro.bittencourt79
www.copaminformatica.com.br