-
Notifications
You must be signed in to change notification settings - Fork 6
Componentes Básicos
Na aplicação de exemplo v1.0 poderá ver diversos Componentes de apresentação ou Front-End. Dos Componentes Básicos aos mais avançados.
- Exemplo : http://localhost/formDin/appexemplo_v1.0/
- Código : https://github.com/bjverde/formDin/blob/master/appexemplo_v1.0/
A inclusão de um campo é simples. O campo sempre é incluído em um formulário e para isso basta chamar o método do tipo de campo desejado.
Na linha abaixo é criado o formulário, depois existem vários métodos add para incluir o tipo correto de campo
$frm = new TForm('Cadastro de Pedidos');
Edite o arquivo pedido.php
o conteúdo deverá ficar o código abaixo
<?php
$primaryKey = 'ID_PEDIDO';
$frm = new TForm('Cadastro de Pedidos');
$frm->setFlat(true);
$frm->setMaximize(true);
$frm->addHiddenField($primaryKey); // campo oculto
$frm->addTextField('NOME_COMPRADOR', 'Nome do Comprador', 10);
$frm->addDateField('DATA_PEDIDO', 'Data do Pedido');
$listPagamento = array(1=>'Dinheiro',2=>'Cheque',3=>'Cartão');
$frm->addSelectField('FORMA_PAGAMENTO', 'Pagamento',false,$listPagamento);
$dados = Tb_pedidoDAO::selectAll();
$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
, $primaryKey); // chave primaria
$gride->addColumn($primaryKey, 'id Pedido');
$gride->addColumn('NOME_COMPRADOR','Nome do Comprador');
$gride->addColumn('DATA_PEDIDO', 'Data');
$gride->addColumn('FORMA_PAGAMENTO', 'Pagamento');
$frm->addHtmlField('gride', $gride);
$frm->show();
?>
Chame no navegador http://localhost/formDin/appteste/ , menu > Telas > Pedido
Lembrando esse tutorial não aborda todas as possibilidades de cada componente. Apenas as funções mais básicas. Os componentes são criados utilizando Orientação Objeto logo o construtor de cada componente não mostra todas as funções.
As funções / métodos abaixo são exemplos que não estão listas nos componentes porém estão presentes em quase todos.
- setEnabled - Habilitado SIM ou NÃO
- setReadOnly - Apenas Leitura SIM ou NÃO
A escolha de um bom Editor de código ou IDE de desenvolvimento poderá facilitar muito para descobrir as outras funções / métodos de cada componente. O Autocomplete do Eclipse PDT ou Visual Studio Code irá listar tudo que pode ser feito.
O Campo oculto é muito utilizado para armazenar valores que não serão listados para o utilizador do formulário ou sistema.
$frm->addHiddenField($primaryKey);
/**
* Adiciona um campo oculto ao layout
*
* @param string $strName - 1: Id do Campo
* @param string $strValue - 2: Valor inicial
* @param boolean $boolRequired - 3: True = Obrigatorio; False (Defalt) = Não Obrigatorio
* @return THidden
*/
Na linha abaixo, tem a criação de um campo do tipo texto simples.
$frm->addTextField('NOME_COMPRADOR', 'Nome do Comprador', 10);
Abaixo o construtor do componente. Veja mais exemplos em http://localhost/formDin/appexemplo_v1.0/index.php?modulo=view/fields/exe_TextField.php
/**
* Adicionar campo entrada de dados texto livre
*
* @param string $strName - 1: id do campo
* @param string $strLabel - 2: Label do campo
* @param integer $intMaxLength - 3: tamanho máximo de caracteres
* @param boolean $boolRequired - 4: obrigatório ou não
* @param integer $intSize - 5: quantidade de caracteres visíveis
* @param string $strValue - 6: texto preenchido
* @param boolean $boolNewLine - 7: Nova linha
* @param string $strHint
* @param string $strExampleText - 9: Texto de exemplo
* @param boolean $boolLabelAbove - 10: Label sobre
* @param boolean $boolNoWrapLabel
* @return TEdit
*/
Na linha abaixo, tem a criação de um campo do tipo data.
$frm->addDateField('DATA_PEDIDO', 'Data do Pedido');
Abaixo o construtor do componente. Veja mais exemplos em http://localhost/formDin/appexemplo_v1.0/index.php?modulo=view/fields/exe_DateField.php
/**
* Adicona um campo data ou mes/ano ou dia/mes de acordo com o parametro strMaxType
* Tipo de máscara: DMY, DM, MY
*
* @param string $strName - 1: Id do Campo
* @param string $strLabel - 2: Label do Campo
* @param string $strValue - 3: Valor inicial
* @param boolean $boolRequired - 4: obrigatório ou não
* @param boolean $boolNewLine - 5: Em nova linha
* @param string $strMinValue
* @param string $strMaxValue
* @param string $strMaskType
* @param boolean $boolButtonVisible
* @param boolean $boolLabelAbove - 10: Label sobre
* @return object TDate
*/
Na linha abaixo, tem a criação de um campo do tipo select.
$listPagamento = array(1=>'Dinheiro',2=>'Cheque',3=>'Cartão');
$frm->addSelectField('FORMA_PAGAMENTO', 'Pagamento',false,$listPagamento);
Abaixo o construtor do componente. Veja mais exemplos em http://localhost/formDin/appexemplo_v1.0/index.php?modulo=view/fields/exe_SelectField.php
/**
* Adicionar campo tipo combobox ou menu select
*
* $mixOptions = array no formato "key=>value", nome do pacote oracle e da função a ser executada, comando sql ou tabela|condicao
* $strKeyColumn = nome da coluna que será utilizada para preencher os valores das opções
* $strDisplayColumn = nome da coluna que será utilizada para preencher as opções que serão exibidas para o usuário
* $strDataColumns = informações extras do banco de dados que deverão ser adicionadas na tag option do campo select
*
* <code>
* // exemplos
* $frm->addSelectField('tipo','Tipo:',false,'1=Tipo 1,2=Tipo 2');
* $frm->addSelectField('tipo','Tipo:',false,'tipo');
* $frm->addSelectField('tipo','Tipo:',false,'select * from tipo order by descricao');
* $frm->addSelectField('tipo','Tipo:',false,'tipo|descricao like "F%"');
*
* //Exemplo espcial - Campo obrigatorio e sem senhum elemento pre selecionado.
* $frm->addSelectField('tipo','Tipo',true,$tiposDocumentos,null,null,null,null,null,null,' ','');
* </code>
*
* @param string $strName - 1: ID do campo
* @param string $strLabel - 2: Label do campo
* @param boolean $boolRequired - 3: Obrigatorio
* @param mixed $mixOptions - 4: array no formato "key=>value", nome do pacote oracle e da função a ser executada, comando sql ou tabela|condicao
* @param boolean $boolNewLine - 5: Default TRUE = cria nova linha , FALSE = fica depois do campo anterior
* @param boolean $boolLabelAbove - 6: Label acima
* @param mixed $mixValue - 7:
* @param boolean $boolMultiSelect- 8: True = MultiSelect , False = SingleSelect
* @param integer $intSize - 9:
* @param integer $intWidth -10:
* @param string $strFirstOptionText - 11: First Key in Display
* @param string $strFirstOptionValue- 12: Frist Valeu in Display, use value NULL for required
* @param string $strKeyField
* @param string $strDisplayField
* @return TSelect
*/
O campo $frm->addSelectField
no parâmetro $mixOptions
sempre recebe um array php. Essa array por ser criado com
- array php direto
- resultado de uma função ou método
- string SQL de consulta a banco
Apesar de permitir evite usar o uso direto da string SQL não é uma boa pratica ! Foi mantida por questões de retro compatibilidade. O ideal é sempre usar uma função ou método que pode ir ao banco de dados.
Na Aplicação de Exemplo 1 http://localhost/formDin/appexemplo_v1.0/ Pode encontrar todos os componentes disponíveis para o formDin.
Para saber como ver o código de exemplo veja O Formulário > da tela ao banco
Í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