AG
Como usar TForm::getFormByName?
Olá pessoal do Adianti!
Estou com um problema/dúvida:
Tenho uma list que tem o form de pesquisa com o nome 'form_search_horario".
Nesse form, tenho duas TDBCombos, uma com o nome dos barcos e a outra com a respetiva lotação.
Ao fazer a pesquisa, eu quero que só possa pesquisar ou por barco ou por lotação e não por ambos, então criei uma Action para cada uma das combos que chama o método static onChange, no qual escondo/mostro uma ou outra combo, conforme a escolha da combo no form.
Acontece que ao voltar a mostrar a combo ela aparece com o valor anterior e eu quero que ela aparecça na default option (em branco) só que não estou a conseguir obter o objeto do form com a instrução TForm::getFormByName que me devolve sempre NULL.
Estou a fazer o pedido assim:
Preciso de saber se estou a fazer algo mal ou se este método getFormByName tem outro tipo de aplicação que não é a que eu estou a pensar?
Agradeço a vossa ajuda!
Um abraço de Portugal!
Abel Gomes
Estou com um problema/dúvida:
Tenho uma list que tem o form de pesquisa com o nome 'form_search_horario".
Nesse form, tenho duas TDBCombos, uma com o nome dos barcos e a outra com a respetiva lotação.
Ao fazer a pesquisa, eu quero que só possa pesquisar ou por barco ou por lotação e não por ambos, então criei uma Action para cada uma das combos que chama o método static onChange, no qual escondo/mostro uma ou outra combo, conforme a escolha da combo no form.
Acontece que ao voltar a mostrar a combo ela aparece com o valor anterior e eu quero que ela aparecça na default option (em branco) só que não estou a conseguir obter o objeto do form com a instrução TForm::getFormByName que me devolve sempre NULL.
Estou a fazer o pedido assim:
$form = TQuickForm::getFormByName($param['_form_name']);
Preciso de saber se estou a fazer algo mal ou se este método getFormByName tem outro tipo de aplicação que não é a que eu estou a pensar?
Agradeço a vossa ajuda!
Um abraço de Portugal!
Abel Gomes
Abel, boas.
Voce esta querendo saber o nome do form da tela atual ou o form chamador ?
Eu costumo o código abaixo para dar nome aos meus forms, assim não tem erro.
1 - Temos uma variável de ambiente __CLASS__ nela fica gravada o nome da Classe onde esta o form, assim dou o nome ao form
'form_'.__CLASS__.
2 - Ou seja você sempre terá o nome da tela atual. 'form_'.__CLASS__.
3 - Se você utilizou uma tela para chamar outra tela, através de um action, basta colocar um parâmetro conforme abaixo:
->setParameter( 'Form', 'form_'.__CLASS__. );
4 - Na tela chamada guardar o parâmetro numa variável de sessão Ex: abaixo:
5 - Para voltar a Tela chamadora ai tem varias formas, vou apenas sitar uma, final de uma função onSave:
Espero ter ajudado,