ET
Exibir dados de uma outra tabela com datagrid em uma FormView
Olá pessoal, minha duvida é a seguinte:
tenho um FormView que exibe os dados da tabela cliente em abas. E quero exibir dados de uma tabela diferente (tabela histórico cliente) neste mesmo Formview em uma outra aba. Como posso fazer isso? Desde já agradeço a ajuda.
Segue código:
tenho um FormView que exibe os dados da tabela cliente em abas. E quero exibir dados de uma tabela diferente (tabela histórico cliente) neste mesmo Formview em uma outra aba. Como posso fazer isso? Desde já agradeço a ajuda.
Segue código:
- <?php
- /**
- * ClienteFormView Form
- * @author <your name here>
- */
- class ClienteFormView extends TPage
- {
- protected $form; // form
- protected $datagrid; // listing
- protected $pageNavigation;
- /**
- * Form constructor
- * @param $param Request
- */
- public function __construct( $param )
- {
- parent::__construct();
- TTransaction::open('microerp');
- $this->form = new BootstrapFormBuilder('form_Cliente');
- $this->form->setFormTitle('Informações do beneficiário e dependentes');
- // ABA 1 - informações pessoais do cliente.
- $this->form->appendPage('Beneficiário');
- $label1 = new TLabel('Id:', '#333333', '12px', '');
- $label2 = new TLabel('Código Cliente:', '#333333', '12px', '');
- $label3 = new TLabel('Data Cadastro:', '#333333', '12px', '');
- $label4 = new TLabel('Nome:', '#333333', '12px', '');
- $label5 = new TLabel('Sexo:', '#333333', '12px', '');
- $label6 = new TLabel('RG:', '#333333', '12px', '');
- $label7 = new TLabel('Orgão Expeditor:', '#333333', '12px', '');
- $label8 = new TLabel('CPF:', '#333333', '12px', '');
- $label11 = new TLabel('Estado Civil:', '#333333', '12px', '');
- $label12 = new TLabel('Data Nascimento:', '#333333', '12px', '');
- $label13 = new TLabel('Idade:', '#333333', '12px', '');
- $label14 = new TLabel('Data Falecimento:', '#333333', '12px', '');
- $label15 = new TLabel('Telefone 1:', '#333333', '12px', '');
- $label16 = new TLabel('Telefone 2:', '#333333', '12px', '');
- $label17 = new TLabel('Celular:', '#333333', '12px', '');
- $label18 = new TLabel('UF:', '#333333', '12px', '');
- $label19 = new TLabel('Cidade:', '#333333', '12px', '');
- $label20 = new TLabel('Bairro:', '#333333', '12px', '');
- $label21 = new TLabel('Número:', '#333333', '12px', '');
- $label22 = new TLabel('Complemento:', '#333333', '12px', '');
- $label23 = new TLabel('CEP:', '#333333', '12px', '');
- $label24 = new TLabel('Referência:', '#333333', '12px', '');
- $label25 = new TLabel('Data Admissão:', '#333333', '12px', '');
- $label26 = new TLabel('Data Carência:', '#333333', '12px', '');
- $cliente = new Cliente($param['key']);
- $text1 = new TTextDisplay($cliente->id, '#333333', '12px', '');
- $text2 = new TTextDisplay($cliente->codigo_cliente, '#333333', '12px', '');
- $text3 = new TTextDisplay(TDate::convertToMask($cliente->data_cadastro, 'yyyy-mm-dd', 'dd/mm/yyyy'), '#333333', '12px', '');
- $text4 = new TTextDisplay($cliente->nome, '#333333', '12px', '');
- $text5 = new TTextDisplay($cliente->sexo->sexo, '#333333', '12px', '');
- $text6 = new TTextDisplay($cliente->rg, '#333333', '12px', '');
- $text7 = new TTextDisplay($cliente->orgao_expeditor, '#333333', '12px', '');
- $text8 = new TTextDisplay($cliente->cpf, '#333333', '12px', '');
- $text11 = new TTextDisplay($cliente->estado_civil, '#333333', '12px', '');
- $text12 = new TTextDisplay(TDate::convertToMask($cliente->data_nascimento, 'yyyy-mm-dd', 'dd/mm/yyyy'), '#333333', '12px', '');
- $text13 = new TTextDisplay($cliente->idade, '#333333', '12px', '');
- $text14 = new TTextDisplay(TDate::convertToMask($cliente->data_falecimento, 'yyyy-mm-dd', 'dd/mm/yyyy'), '#333333', '12px', '');
- $text15 = new TTextDisplay($cliente->telefone_um, '#333333', '12px', '');
- $text16 = new TTextDisplay($cliente->telefone_dois, '#333333', '12px', '');
- $text17 = new TTextDisplay($cliente->celular, '#333333', '12px', '');
- $text18 = new TTextDisplay($cliente->uf->uf, '#333333', '12px', '');
- $text19 = new TTextDisplay($cliente->cidade->nome, '#333333', '12px', '');
- $text20 = new TTextDisplay($cliente->bairro->bairro, '#333333', '12px', '');
- $text21 = new TTextDisplay($cliente->numero, '#333333', '12px', '');
- $text22 = new TTextDisplay($cliente->complemento, '#333333', '12px', '');
- $text23 = new TTextDisplay($cliente->cep, '#333333', '12px', '');
- $text24 = new TTextDisplay($cliente->referencia, '#333333', '12px', '');
- $text25 = new TTextDisplay(TDate::convertToMask($cliente->data_admissao, 'yyyy-mm-dd', 'dd/mm/yyyy'), '#333333', '12px', '');
- $text26 = new TTextDisplay(TDate::convertToMask($cliente->data_carencia, 'yyyy-mm-dd', 'dd/mm/yyyy'), '#333333', '12px', '');
- $this->form->addFields([$label1],[$text1], [$label2],[$text2]);
- $this->form->addFields([$label3],[$text3], [$label4],[$text4]);
- $this->form->addFields([$label5],[$text5], [$label6],[$text6]);
- $this->form->addFields([$label7],[$text7], [$label8],[$text8]);
- $this->form->addFields([$label11],[$text11], [$label12],[$text12]);
- $this->form->addFields([$label13],[$text13], [$label14],[$text14]);
- $this->form->addFields([$label15],[$text15], [$label16],[$text16]);
- $this->form->addFields([$label17],[$text17], [$label18],[$text18]);
- $this->form->addFields([$label19],[$text19], [$label20],[$text20]);
- $this->form->addFields([$label21],[$text21], [$label22],[$text22]);
- $this->form->addFields([$label23],[$text23], [$label24],[$text24]);
- $this->form->addFields([$label25],[$text25], [$label26],[$text26]);
- //ABA 2 - informações de pagamentos do cleinte.
- $this->form->appendPage('Pagamentos');
- $label27 = new TLabel('Primeiro Vencimento:', '#333333', '12px', '');
- $text27 = new TTextDisplay(TDate::convertToMask($cliente->primeiro_vencimento, 'yyyy-mm-dd', 'dd/mm/yyyy'), '#333333', '12px', '');
- $this->form->addFields([$label27],[$text27]);
- //ABA 3 - informaçoes complementares do cadastro do cliente
- $this->form->appendPage('Informações');
- $label9 = new TLabel('Profissão:', '#333333', '12px', '');
- $label10 = new TLabel('Religião:', '#333333', '12px', '');
- $text9 = new TTextDisplay($cliente->profissao, '#333333', '12px', '');
- $text10 = new TTextDisplay($cliente->religiao, '#333333', '12px', '');
- $this->form->addFields([$label9],[$text9]);
- $this->form->addFields([$label10],[$text10]);
- //ABA 4 - Informações do histórico do cliente
- $this->form->appendPage('Histórico');
- //Quero exibir os dados da tabela histórico do cliente em uma grid aqui.
- //ABA 5 - informações (cadastro) dos dependentes do titular do plano.
- $this->form->appendPage('Dependentes');
- // vertical box container
- $container = new TVBox;
- $container->style = 'width: 100%';
- $container->class = 'formView-container';
- $container->add(new TXMLBreadCrumb('menu.xml', 'ClienteList'));
- $container->add($this->form);
- TTransaction::close();
- parent::add($container);
- }
- public function onShow()
- {
- }
- }
- ?>
Erickson
Add uma aba como você faz hoje.
Cria uma datagrid e um método por exemplo onReloadHistorico().
Popula a grid neste método.
Adiciona um TPanelGrupo e depois a grid nele.
Utilizando o método $this->form->addContent(), adicione o Panel Group na página.
E sempre que chamar onEdit, ou onSave, executo o método "onReloadHistóatico()".
Olá Marcelo, bom dia.
Adicionei uma aba e criei o datagrid (que por em quanto está exibindo dados da tabela cliente), mas como posso fazer para popular a grid com os dados da tabela de histórico? quero apenas listar os dados da tabela historico dentro deste formview da tabela cliente.
Obrigado pela ajuda.
Erickson
Basta criar o repository apontando para o model histórico.
Na criteria, adicionar o seguinte:
Estou fazendo da seguinte forma, não está me retornando nenhum erro, mas o grid não carrega nenhum dado. O que estou fazendo errado?
Erickson
A colunha "ID" de histórico é somente "id" e nao "historico_cliente_id". Veja seu model, a primary key está setada como "ID"?
Eu sugiro criar um onReloadHistorico.
Chama este método depois do "createModelo()".
Tenta isso!
Consegui.
O brigado pela atenção Marcelo.
Erickson boa noite.
Sei que o posto é antigo, mas estou precisando exatamente do que você fez. Que é um histórico do Cliente.
Copiei seus códigos, mas não consegui fazer funcionar nem a pau!
Poderia ajudar nisso? Falta algum código na última parte do seu?
Obrigado