MC
Erro - TCombo setChangeAction
Boas,
Estou com um problema (nossa novidade :)), a qual ao setar o evento setChangeAction me da um erro a qual não achei a solução
se puderem me ajudar agradeço;
Estou com um problema (nossa novidade :)), a qual ao setar o evento setChangeAction me da um erro a qual não achei a solução
se puderem me ajudar agradeço;
- <?php
- // TPanelGroup
- $linha = new TCombo('LINHAS');
- $linha->setSize('120');
- $linha->addItems( TGeral::Linhas());
- $linha->enableSearch();
- $linha->setTip('Máximo de Linhas da Grid');
- $linha->setValue( TSession::getValue('GridLin'));
- $linha->setChangeAction( new TAction( array( $this, 'onLimit'))); // Erro acontece aqui.
- $panel = new TPanelGroup( $linha, white );
- $panel->add( $this->datagrid );
- $panel->addFooter( $this->pageNavigation );
- // vertical box container
- $container = new TVBox;
- $container->style = 'width: 80%';
- $container->add( new TXMLBreadCrumb( 'menu.xml', __CLASS__ ));
- $container->add( $this->form );
- $container->add( $panel );
- parent::add( $container );
- ?>
tu tem que adicionar o Combo ao seu formulario
ou fazer setFields ao form indicando seu combo
Willian, boas.
Mas ele não pertence ao TForm e sim ao TpanelGroup a qual já foi adicionado.
É preciso adicionar $linha em Tform
$this->form->addFields($linha);
Marcelo, boas
Eu não posso fazer isso, e mesmo que o fizesse continua o erro.
tenho duas telas, uma TForm e outra TPanelGroup, ele esta na segunda.
Se eu fizer o que vcs me pedem (ja fiz kkk) ele aparece na primeira e mesmo assim reclama da segunda.
Funciona bem, até... fazer a chamada do setChangeAction.
Todos o objeto deve fazer parte de um "form" para submissão.
O seu panel não faz parte do form, portanto o campo "linha" não será submetido. e o erro é bem claro, o campo $linha deve ser inserido no form ($this->form->addFields($linha).
Tenta adicionar o panel no form,
Marcelo, boas
Infelizmente eu não posso colocar na parte superior ou seja no TForm, uma vez que nada tem a ver com
as informações acima.
O TCombo esta relacionado com a DataGrid ou seja ele determina a quantidade de linha da Grid.
Mas como o TDatagrid e o TPageNavigation funcionan ??
Tenetei colocar $this para ver se funcionava, mas da o mesmo erro:
Senhores, boas
Segue abaixo a solução, mas não me perguntem o porque... :))
Apenas verifiquei umas classe que o form era construído manualmente, e la estava a declaração:
Marcelo mas foi o que eu disse na minha primeira resposta
ou fazer setFields ao form indicando seu combo
Willian, boas
Realmente, você tem toda razão.....
No entanto vou fazer um adendo, se usarmos o setFields iremos substituir o que já existe,
assim no meu caso em especifico, onde ja existe um Formulário anterior (TForm e outra TPanelGroup)
o comando correto seria:
$this->form->addField( $linha );
Assim estarei adicionando aos já existente:
Então no meu caso a solução correta fica assim:
Correto, esqueci de explanar essa parte maa é por aí mesmo o caminho 😎