Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Atualizar campo automaticamente e setExitAction para Combo Bom dia, Eu tenho um formulário de contas a receber de uma escola de idiomas. Tenho um campo com a listagem de idiomas e logo abaixo o campo onde quero que apareça o valor da mensalidade para o idioma selecionado, o qual é cadastrado em outra tabela do banco do dados. Alguém sabe como faço para que este valor atualize automaticamente no datagrid e desta forma já atualiza para todos os regis...
FS
Atualizar campo automaticamente e setExitAction para Combo  
Fechado
Bom dia,
Eu tenho um formulário de contas a receber de uma escola de idiomas. Tenho um campo com a listagem de idiomas e logo abaixo o campo onde quero que apareça o valor da mensalidade para o idioma selecionado, o qual é cadastrado em outra tabela do banco do dados. Alguém sabe como faço para que este valor atualize automaticamente no datagrid e desta forma já atualiza para todos os registros, ou eu tenho que cada vez que aumentar a mensalidade ir ajustando um por um?

Outra dúvida minha é se consigo utilizar o setExitAction para um combo, que neste mesmo caso que passei, ao selecionar o idioma já traga o valor preenchido.

Ainda estou começando, por isso tenho ainda dúvidas que possam ser básicas para muitos.

Abraços e obrigado!!

Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 Quero me inscrever agora!

Comentários (6)


GE

Oi Fabiano.

Caso fosse desenvolver um relatório contas a pagar e a receber eu desenvolveria em uma tabela HTML, com opção de download em .csv, separado por virgula. Ficaria muito mais legível e melhor para trabalhar para quem vai analisar o relatório.

Se você pesquisar nas postagens do Pablo, vai encontrar um tutorial de como gerar .csv no adianti.

FS

Boa tarde Gustavo,
Primeiramente muito obrigado por disponibilizar seu tempo para me responder.
Eu também acho interessante fazer relatório CSV, talvez eu não tenha explica direito. Eu vou ter 5 idiomas cadastrados no meu sistema, nos quais cada um terá seu valor de mensalidade, por exemplo, o curso de inglês custará R$ 200,00 mensais e digamos que eu vou ter 100 alunos para este curso. Minha dúvida é, se aumentar o valor da mensalidade, eu tenho como alterar num único lugar/cadastro o valor da mensalidade e ele já atualize para os 100 alunos, ou tenho que abrir cada cadastro e atualizar o novo valor da mensalidade? Pois da segunda forma citada, o sistema não será viável pois aumentará muito o esforço.

Abraços.
GE

Oi Fabiano.
Dai é uma questão de modelagem, mas eu entendo que poderia haver uma modelagem mais simples com uma tabela de alunos e uma tabela de valores.
Uma outra abordagem seria ter uma tabela de alunos, uma tabela de valores padrão das disciplinas e uma tabela de contrato entre alunos e disciplinas, aonde ficará gravado o valor da disciplina, quaisquer descontos que queira dar.

Sobre o onExitAction eu usei uma abordagem mais ou menos assim em um projeto meu:

$minha_combo = new TCombo('qtde_horas');
(... logica para povoar a combo ...)

// set exit action for input_exit
$change_action = new TAction(array($this, 'onChangeAction'));
$minha_combo->setChangeAction($change_action);

(... fora do constructor ...)
public static function onChangeAction($param)
{
$obj = new StdClass;

(... logica para encontrar o valor ...)

$obj->meu_campo = 'novo valor';

TForm::sendData('form_Gerado', $obj, FALSE, FALSE);

}

BI

Boa noite!
neste exemplo do tutor tem o que precisa para deixar o formulario dinamico...
www.adianti.com.br/framework_files/tutor/index.php?class=FormInterac
BI

Eu também estou começando agora com o Adianti, to gostando muito, mas to apanhando mais que filho nas mãos de madrasta kkk
fiz esse exemplo acima, mas deu erro...
  1. <?php 
  2.         $empreendimento_id              = new TDBCombo('empreendimento_id','sqlserver','Empreendimento','id','sigla');
  3.         $aplicacao_id                   = new TCombo('aplicacao_id');
  4.         
  5.         $change_action = new TAction(array($this'onChange'));
  6.         $empreendimento_id->setChangeAction($change_action);
  7.         public static function onChange($param)
  8.         {
  9.              TTransaction::open('sqlserver');
  10.              $criteria = new TCriteria;
  11.              $criteria->add(new TFilter('empreendimento_id''='$param));
  12.         
  13.             $repository = new TRepository('Aplicacao');
  14.             $aplicacaos $repository->load($criteria);
  15.         
  16.             $options = array();
  17.             foreach ($aplicacaos as $aplicacao){
  18.             $options[$aplicacao->id] = $aplicacao->sigla;
  19.         }
  20.         
  21.         //TForm::sendData('form_Vertedouro', $objeto);            
  22.         TCombo::reload('form_Vertedouro''aplicacao_id'$options);
  23.         
  24.     }
  25. ?>


mas aparece os erros
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: [Microsoft][SQL Server Native Client 11.0][SQL Server]Sintaxe incorreta próxima a ','.' in C:\wamp\www\siscor\lib\adianti\database\TRepository.php on line 109 PDOException: SQLSTATE[42000]: [Microsoft][SQL Server Native Client 11.0][SQL Server]Sintaxe incorreta próxima a ','. in C:\wamp\www\siscor\lib\adianti\database\TRepository.php on line 109


se alguem puder ajudar, mais uma vez fico grato!
BI

estou apanhando de Array, mas aos poucos vou me superando!

consegui resolver o problema.

  1. <?php 
  2.         $empreendimento_id              = new TDBCombo('empreendimento_id','sqlserver','Empreendimento','id','sigla');
  3.         $aplicacao_id                   = new TCombo('aplicacao_id');
  4.         
  5.         $change_action = new TAction(array($this'onChange'));
  6.         $empreendimento_id->setChangeAction($change_action);
  7.         public static function onChange($param)
  8.         {
  9.              TTransaction::open('sqlserver');
  10.              $criteria = new TCriteria;
  11.              //***** A variável $param tem que ser passado com o nome do campo!  $param['empreendimento_id'] ******
  12.              $criteria->add(new TFilter('empreendimento_id''='$param['empreendimento_id'])); //AQUI!!! 
  13.         
  14.             $repository = new TRepository('Aplicacao');
  15.             $aplicacaos $repository->load($criteria);
  16.         
  17.             $options = array();
  18.             foreach ($aplicacaos as $aplicacao){
  19.             $options[$aplicacao->id] = $aplicacao->sigla;
  20.         }
  21.         
  22.         //TForm::sendData('form_Vertedouro', $objeto);            
  23.         TCombo::reload('form_Vertedouro''aplicacao_id'$options);
  24.         
  25.     }
  26. ?>


deu certo hehe