ML
setTabAction x TButton
Boa tarde, preciso sanar uma duvida.
Quando eu chamo o botao abaixo, a funcao executa com perfeição.
$btn_Relacao = new TButton('btn_Relacao');
$btn_Relacao->setImage('fa:search blue');
$btn_Relacao->setLabel('Procurar Contratos');
$btn_Relacao->class ='btn btn-warning btn-sm';
$btn_Relacao->popcontent='Procure os contratos deste cliente.';
$btn_Relacao->setAction(new TAction(array($this, 'onIncluirGrid')), 'Procurar Contratos');
Mas se eu tentar substituir o botão pelo Acionamento atraves da entrada na pagina do Notebbok (setTabAction) , nao preenche ou nao mostra os dados na grid.
$notebook->setTabAction( new TAction(array($this, 'onIncluirGrid')));
public function onIncluirGrid()
{
echo "entrei";
$item = new StdClass;
$item->usu_codcli = '1';
$item->usu_codemp = '1';
$item->relacao = 'Dependente';
$item->Empresa_Contrato = '1';
$this->datagrid->addItem($item);
}
Quando eu chamo o botao abaixo, a funcao executa com perfeição.
$btn_Relacao = new TButton('btn_Relacao');
$btn_Relacao->setImage('fa:search blue');
$btn_Relacao->setLabel('Procurar Contratos');
$btn_Relacao->class ='btn btn-warning btn-sm';
$btn_Relacao->popcontent='Procure os contratos deste cliente.';
$btn_Relacao->setAction(new TAction(array($this, 'onIncluirGrid')), 'Procurar Contratos');
Mas se eu tentar substituir o botão pelo Acionamento atraves da entrada na pagina do Notebbok (setTabAction) , nao preenche ou nao mostra os dados na grid.
$notebook->setTabAction( new TAction(array($this, 'onIncluirGrid')));
public function onIncluirGrid()
{
echo "entrei";
$item = new StdClass;
$item->usu_codcli = '1';
$item->usu_codemp = '1';
$item->relacao = 'Dependente';
$item->Empresa_Contrato = '1';
$this->datagrid->addItem($item);
}
Acredito que a diferença possa estar no método da requisição, enquanto o TButton usa o POST, a ação do notebook usa o GET.
Você está usando dados de um formulário para preencher a grid?
Nataniel,
Na verdade estou num form de cadastro de Clientes, e na outra aba queria consultar em duas tabelas diferentes da base e ir incluindo no datagrid (aba 2)
Ex: consulto na tabela A se o cliente (ID) é "dependente".
consulto na tabela B se o cliente (ID) é "contratante".
e vou add no datagrid.
Se tiver outra ideia, aceito....
Analisando melhor, a ação criada através do notebook é static, com isso não há recarga do formulário. Por isso o item não aparece na grid. O que exatamente você quer fazer?
Miguel, não sei se entendi direito sua necessidade, mas é possível adicionar itens a uma datagrid estaticamente:
Se estiver usando o templateERP, veja a classe SystemUserForm, ela usa a função que citei acima.
Nataniel,
Mais uma vez, obrigado.
Deu certo com o exemplo da classe SystemUserForm.
TScript::create("tdatagrid_add_serialized_row('id_grid', '$tr');");
Abraço.