-
Notifications
You must be signed in to change notification settings - Fork 6
Grid Básico
Esse capitulo explica um dos componentes mais importantes do formDin.
O Grid é utilizado para mostra os resultados de uma determinada consulta. O Grid básico tem como características
- dados ordenados via coluna
- ações padrão alterar e excluir registro
- exportar dados para planilha no formato .XLS
- não limita quantidade de linha
Edite o arquivo modulos/pedido.php
e cole o conteúdo. As 4 primeiras linhas serão explicadas com detalhes em outro capitulo. No momento só precisa entender que serva para criar o formulário.
<?php
d($_REQUEST);
$frm = new TForm('Cadastro de Pedidos');
$frm->setFlat(true);
$frm->setMaximize(true);
$dados = Tb_pedidoDAO::selectAll();
$PK = 'ID_PEDIDO';
$gride = new TGrid('gdTeste' // id do gride
,'Lista de Pedidos' // titulo do gride
, $dados // array de dados
, null // altura do gride
, null // largura do gride
, $PK); // chave primaria
$gride->addColumn($PK, 'id Pedido');
$gride->addColumn('NOME_COMPRADOR','Nome do Comprodor');
$gride->addColumn('DATA_PEDIDO', 'Data');
$gride->addColumn('FORMA_PAGAMENTO', 'Pagamento');
$frm->addHtmlField('gride', $gride);
$frm->show();
?>
O trecho abaixo retorna os dados que serão mostrados no grid.
$dados = Tb_pedidoDAO::selectAll();
Logo depois é criado o grid.
$PK = 'ID_PEDIDO';
$gride = new TGrid('gdTeste' // id do gride
,'Lista de Pedidos' // titulo do gride
, $dados // array de dados
, null // altura do gride
, null // largura do gride
, $PK); // chave primaria
Para cada coluna que deseja mostrar deve fazer uma relação entre a chave do array e nome que deseja mostrar.
$gride->addColumn($PK, 'id Pedido');
$gride->addColumn('NOME_COMPRADOR','Nome do Comprodor');
$gride->addColumn('DATA_PEDIDO', 'Data');
$gride->addColumn('FORMA_PAGAMENTO', 'Pagamento');
Serve para criar um campo HTML que será preenchido com o conteúdo HTML do grid.
$frm->addHtmlField('gride', $gride);
Serve para mostrar o formulário
$frm->show();
Repare nos dados do grid abaixo ! A coluna forma de pagamento não é legível para os usuários, pois aparece apenas a FK que faz referencia a tabela tb_forma_pagamento
.
Nessa situação para torna os dados mais legíveis as opções são:
- criar uma view
- fazer sub selects
Reveja Dicas para modelar o banco de dados
Altere a variável $sqlBasicSelect
do arquivo DAO/Tb_pedidoDAO.class.php
para o exemplo abaixo
private static $sqlBasicSelect = 'select
id_pedido
,data_pedido
,nome_comprador
,forma_pagamento
,(select descricao from tb_forma_pagamento as fp
where fp.idform_pagamento = forma_pagamento) as forma_pagamento_nome
from tb_pedido ';
Altere o arquivo modulos/pedido.php
de :
$gride->addColumn('FORMA_PAGAMENTO', 'Pagamento');
$gride->addColumn('FORMA_PAGAMENTO_NOME', 'Pagamento');
O resultado será
Abaixo copia da documentação do construtor da classe TGrid
/**
* @param string $strName - 1: ID do campo
* @param string $strTitle - 2: Titulo do campo
* @param array $mixData - 3: Array Data
* @param mixed $strHeight - 4: Altura
* @param mixed $strWidth - 5: Largura
* @param mixed $strKeyField - 6: Chave primaria
* @param array $mixUpdateFields - 7: Campos do form origem que serão atualizados ao selecionar o item desejado. Separados por virgulas seguindo o padrão <campo_tabela> | <campo_formulario> , <campo_tabela> | <campo_formulario>
* @param mixed $intMaxRows - 8: Qtd Max de linhas
* @param mixed $strRequestUrl - 9: Url request do form
**/
/**
* Coluna normal para o grid
* @param string $strFieldName 1: ID da coluna = Nome da coluna da tabela
* @param string $strValue 2: Nome do Label que irá aparecer
* @param integer $strWidth 3: tamanho da coluna
* @param string $strTextAlign 4: Alinhamento do texto left|right|center|justify
* @return TGridColumn
*/
Índice completo - Aprendendo formDin em etapas
Conheça os projetos relacionados ao formDin
- FormDin Last Release - ultima versão estável
- SysGen - Gerador de código para FormDin
- formDocker - Ambiente para o FormDin em Docker
- FormDin5 - FormDin 5 sobre o Adianti FrameWork
- SysGenAd - Gerador de código para FormDin 5 usando o Adianti FrameWork
Aprendendo formDin em etapas
- Baixando o formDin
- Instalado e Configurando Ambiente de Desenvolvimento
- Usando XDebug
- Informações técnicas
- Primeira Aplicação
- Entendendo a primeira aplicação
- Criando Menu Básico
- Conectando com um Banco de Dados
- Usando DAO e VO
- Grid Básico
- Componentes Básicos
- O Formulário
- Relatórios em PDF
- Componentes Avançados
- Autenticando o usuário
- Perfis de acesso
- Grid Avançado
- Conectando com mais um Banco de Dados ao mesmo tempo
- Automatizando a criação de aplicação
- Segurança
- Layout e CSS
- API REST
- Arquitetura do FormDin
- Versões e versionamento
- Usando o Eclipse
- Usando o VS Code
- História do formDin
- Usando PHPUnit para fazer testes unitários
- Usando Composer
- Usando Docker
- Microsoft SQL Server