Lançado Adianti Framework 8.1!
Clique aqui para saber mais
MOSTRAR O NOME DA CIDADE AO INVES DO ID Como faço para mostrar o nome da cidade ao invés do numero, sendo que o nome das cidades estao em outra tabela e o campo comum das duas tabelas é ID_CIDADE....
LG
MOSTRAR O NOME DA CIDADE AO INVES DO ID  
Fechado
Como faço para mostrar o nome da cidade ao invés do numero, sendo que o nome das cidades estao em outra tabela e o campo comum das duas tabelas é ID_CIDADE.

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (9)


NR

Supondo que você tenha o model Cidade e o model Cliente:
  1. <?php
  2. class Cliente extends TRecord
  3. {
  4.       public function get_cidade()
  5.       {
  6.            if (empty($this->cidade))
  7.             $this->cidade = new Cidade($this->ID_CIDADE);
  8.     
  9.            // returns the associated object
  10.            return $this->cidade;
  11.       }
  12. }
  13. // em qualquer control
  14. $cliente = new Cliente(1);
  15. echo $cliente->cidade->nome;
  16. ?>
LG

foi criado model Cidade e o model Cliente.

fiquei com duvida aonde coloco esse codigo
tenho um arquivo ClientList.class.php coloco esse codigo :


  1. <?php
  2.  class Cliente extends TRecord
  3. {
  4.     const TABLENAME 'cliente';
  5.     const PRIMARYKEY'id';
  6.     const IDPOLICY =  'max'// {max, serial}
  7.     
  8.     public function get_situacao_cli()
  9.     {
  10.         $nomes = array('A'=>'Ativo''B'=>'Bloqueado','I'=>'Inativo');
  11.         return $nomes[$this->SITUACAO];
  12.     }
  13.     
  14.      public function get_cidade()
  15.       {
  16.            if (empty($this->cidade))
  17.             $this->cidade = new Cidade($this->ID_CIDADE);
  18.     
  19.            // returns the associated object
  20.            return $this->cidade;
  21.       }
  22. //$cliente = new Cliente(1);
  23. //echo $cliente->cidade->nome
  24. ?>




  1. <?php
  2. /**
  3.  * ClienteList Listing
  4.  * @author  <your name here>
  5.  */
  6. class ClienteList extends TStandardList
  7. {
  8.     protected $form;     // registration form
  9.     protected $datagrid// listing
  10.     protected $pageNavigation;
  11.     protected $formgrid;
  12.     protected $deleteButton;
  13.     protected $transformCallback;
  14.     
  15.     /**
  16.      * Page constructor
  17.      */
  18.     public function __construct()
  19.     {
  20.         parent::__construct();
  21.         
  22.         parent::setDatabase('conexao');            // defines the database
  23.         parent::setActiveRecord('Cliente');   // defines the active record
  24.         parent::setDefaultOrder('ID_CLIENTE''asc');         // defines the default order
  25.         // parent::setCriteria($criteria) // define a standard filter
  26.         parent::addFilterField('CODIGO''=''CODIGO'); // filterField, operator, formField
  27.         parent::addFilterField('RAZAO_SOCIAL''like''RAZAO_SOCIAL'); // filterField, operator, formField
  28.         parent::addFilterField('CPF''like''CPF'); // filterField, operator, formField
  29.         parent::addFilterField('CNPJ''like''CNPJ'); // filterField, operator, formField
  30.         parent::addFilterField('ID_CIDADE''like''ID_CIDADE'); // filterField, operator, formField
  31.         parent::addFilterField('FONE''like''FONE'); // filterField, operator, formField
  32.         parent::addFilterField('SITUACAO''like''SITUACAO'); // filterField, operator, formField
  33.       
  34.         // creates the form
  35.         $this->form = new TQuickForm('form_search_Cliente');
  36.         $this->form->class 'tform'// change CSS class
  37.         
  38.         $this->form->style 'display: table;width:100%'// change style
  39.         $this->form->setFormTitle('Cliente');
  40.         
  41.         // create the form fields
  42.         $CODIGO = new TEntry('CODIGO');
  43.         $RAZAO_SOCIAL = new TEntry('RAZAO_SOCIAL');
  44.         $CPF = new TEntry('CPF');
  45.         $CNPJ = new TEntry('CNPJ');
  46.         $ID_CIDADE = new TEntry('ID_CIDADE');
  47.         $FONE = new TEntry('FONE');
  48.         $SITUACAO = new TEntry('SITUACAO');
  49.       
  50.         // add the fields
  51.         $this->form->addQuickField('Código:'$CODIGO70 );
  52.         $this->form->addQuickField('Razão Social:'$RAZAO_SOCIAL,  400 );
  53.         $this->form->addQuickField('CPF/CNPJ:'$CPF,  200 );
  54.         $this->form->addQuickField('Situação:'$SITUACAO,  200 );
  55.    
  56.         
  57.         // keep the form filled during navigation with session data
  58.         $this->form->setDataTSession::getValue('Cliente_filter_data') );
  59.         
  60.         // add the search form actions
  61.         $this->form->addQuickAction(_t('Find'), new TAction(array($this'onSearch')), 'fa:search');
  62.         $this->form->addQuickAction(_t('New'),  new TAction(array('ClienteForm''onEdit')), 'bs:plus-sign green');
  63.         
  64.         // creates a DataGrid
  65.         $this->datagrid = new TDataGrid;
  66.         
  67.         $this->datagrid->style 'width: 100%';
  68.         $this->datagrid->setHeight(320);
  69.         // $this->datagrid->datatable = 'true';
  70.         // $this->datagrid->enablePopover('Popover', 'Hi <b> {name} </b>');
  71.         
  72.         // creates the datagrid columns
  73.         $column_CODIGO = new TDataGridColumn('CODIGO''Código''center');
  74.         $column_RAZAO_SOCIAL = new TDataGridColumn('RAZAO_SOCIAL''Razão Social''left');
  75.         $column_CPF = new TDataGridColumn('CPF''CPF/CNPJ''center');
  76.         $column_CNPJ = new TDataGridColumn('CNPJ''CNPJ''center');
  77.         $column_ID_CIDADE = new TDataGridColumn('cidade''Cidade''center');
  78.         $column_FONE = new TDataGridColumn('FONE''Telefone''center');
  79.         $column_SITUACAO = new TDataGridColumn('situacao_cli''Situação''center');
  80.        
  81.         // add the columns to the DataGrid
  82.         $this->datagrid->addColumn($column_CODIGO);
  83.         $this->datagrid->addColumn($column_RAZAO_SOCIAL);
  84.         $this->datagrid->addColumn($column_CPF);
  85.         //$this->datagrid->addColumn($column_CNPJ);
  86.         $this->datagrid->addColumn($column_ID_CIDADE);
  87.         $this->datagrid->addColumn($column_FONE);
  88.         $this->datagrid->addColumn($column_SITUACAO);
  89.      
  90.         // creates the datagrid column actions
  91.         $order_CODIGO = new TAction(array($this'onReload'));
  92.         $order_CODIGO->setParameter('order''CODIGO');
  93.         $column_CODIGO->setAction($order_CODIGO);
  94.         
  95.         $order_RAZAO_SOCIAL = new TAction(array($this'onReload'));
  96.         $order_RAZAO_SOCIAL->setParameter('order''RAZAO_SOCIAL');
  97.         $column_RAZAO_SOCIAL->setAction($order_RAZAO_SOCIAL);
  98.         
  99.         
  100.         // create EDIT action
  101.         $action_edit = new TDataGridAction(array('ClienteForm''onEdit'));
  102.         $action_edit->setUseButton(TRUE);
  103.         $action_edit->setButtonClass('btn btn-default');
  104.         $action_edit->setLabel(_t('Edit'));
  105.         $action_edit->setImage('fa:pencil-square-o blue fa-lg');
  106.         $action_edit->setField('ID_CLIENTE');
  107.         $this->datagrid->addAction($action_edit);
  108.         
  109.         // create DELETE action
  110.         $action_del = new TDataGridAction(array($this'onDelete'));
  111.         $action_del->setUseButton(TRUE);
  112.         $action_del->setButtonClass('btn btn-default');
  113.         $action_del->setLabel(_t('Delete'));
  114.         $action_del->setImage('fa:trash-o red fa-lg');
  115.         $action_del->setField('ID_CLIENTE');
  116.         $this->datagrid->addAction($action_del);
  117.         
  118.         // create the datagrid model
  119.         $this->datagrid->createModel();
  120.         
  121.         // create the page navigation
  122.         $this->pageNavigation = new TPageNavigation;
  123.         $this->pageNavigation->setAction(new TAction(array($this'onReload')));
  124.         $this->pageNavigation->setWidth($this->datagrid->getWidth());
  125.         
  126.         // vertical box container
  127.         $container = new TVBox;
  128.         $container->style 'width: 100%';
  129.         // $container->add(new TXMLBreadCrumb('menu.xml', __CLASS__));
  130.         $container->add($this->form);
  131.         $container->add($this->datagrid);
  132.         $container->add($this->pageNavigation);
  133.         
  134.         parent::add($container);
  135.     }
  136.     
  137. }
  138. mas da erro</your>
LG

Notice: Undefined property: Cliente::$cidade in C:\xampp\htdocs\framework\app\control\admin\ClienteList.class.php on line 20
LG

Sem transação ativa com a base de dados: AdiantiDatabaseTRecord::load cliente
NR

Leonardo, poste os 3 códigos completos: model de Cidade, model de Cliente e List de Cliente
LG

Cidade.class.php

  1. <?php
  2. /**
  3.  * Cidade Active Record
  4.  * @author  <your-name-here>
  5.  */
  6. class Cidade extends TRecord
  7. {
  8.     const TABLENAME 'cidade';
  9.     const PRIMARYKEY'ID_CIDADE';
  10.     const IDPOLICY =  'serial'// {max, serial}
  11.     
  12.     
  13.     /**
  14.      * Constructor method
  15.      */
  16.     public function __construct($id NULL$callObjectLoad TRUE)
  17.     {
  18.         parent::__construct($id$callObjectLoad);
  19.         parent::addAttribute('DESCRICAO');
  20.         parent::addAttribute('UF');
  21.         parent::addAttribute('COD_IBGE');
  22.         parent::addAttribute('CEP');
  23.         parent::addAttribute('ID_USUARIO');
  24.         parent::addAttribute('DATA_HORA_ALT');
  25.         parent::addAttribute('CONCORRENCIA');
  26.         parent::addAttribute('ID_PAIS');
  27.     }
  28. }
  29. Cliente.class.php:
  1. <?php
  2. /**
  3.  * Cliente Active Record
  4.  * @author  <your-name-here>
  5.  */
  6. class Cliente extends TRecord
  7. {
  8.     const TABLENAME 'cliente';
  9.     const PRIMARYKEY'ID_CLIENTE';
  10.     const IDPOLICY =  'serial'// {max, serial}
  11.     
  12.     
  13.     
  14.     
  15.     
  16.     public function __construct($id NULL$callObjectLoad TRUE)
  17.     {
  18.         parent::__construct($id$callObjectLoad);
  19.         parent::addAttribute('CODIGO');
  20.         parent::addAttribute('RAZAO_SOCIAL');
  21.         parent::addAttribute('NOME_FANTASIA');
  22.         parent::addAttribute('ENDERECO');
  23.         parent::addAttribute('NUMERO');
  24.         parent::addAttribute('COMPLEMENTO');
  25.         parent::addAttribute('BAIRRO');
  26.         parent::addAttribute('ID_CIDADE');
  27.         parent::addAttribute('FONE');
  28.         parent::addAttribute('FAX');
  29.                 parent::addAttribute('CELULAR');
  30.         parent::addAttribute('CONTATO');
  31.         parent::addAttribute('CNPJ');
  32.         parent::addAttribute('INSCRICAO');
  33.         parent::addAttribute('EMAIL');
  34.         parent::addAttribute('CPF');
  35.         parent::addAttribute('IDENTIDADE');
  36.         parent::addAttribute('TITULO_ELEITOR');
  37.         parent::addAttribute('CART_PROFIS');
  38.         parent::addAttribute('CART_SERIE');
  39.         parent::addAttribute('CART_ORGAO');
  40.         parent::addAttribute('FILIACAO_PAI');
  41.         parent::addAttribute('FILIACAO_MAE');
  42.         parent::addAttribute('DATA_NASCIMENTO');
  43.         parent::addAttribute('DATA_CADASTRO');
  44.         parent::addAttribute('DATA_ALTERACAO');
  45.         parent::addAttribute('DEPENDENTES');
  46.         parent::addAttribute('COMPROVANTE_ENDERECO');
  47.         parent::addAttribute('DATA_ENDERECO');
  48.         parent::addAttribute('TIPO_CASA');
  49.         parent::addAttribute('VALOR_ALUGUEL');
  50.         parent::addAttribute('VALOR_DESPESAS');
  51.         parent::addAttribute('ABERTURA_CADASTRO');
  52.         parent::addAttribute('NATURALIDADE');
  53.         parent::addAttribute('EMPREGO_ANTERIOR');
  54.         parent::addAttribute('TEMPO_SERVICO');
  55.         parent::addAttribute('EMPRESA_NOME');
  56.         parent::addAttribute('EMPRESA_ID_CIDADE');
  57.         parent::addAttribute('EMPRESA_FUNCAO');
  58.         parent::addAttribute('EMPRESA_ADMISSAO');
  59.         parent::addAttribute('EMPRESA_FONE');
  60.         parent::addAttribute('RENDA_CLIENTE');
  61.         parent::addAttribute('RENDA_CONJUGE');
  62.         parent::addAttribute('LIMITE_CREDITO');
  63.         parent::addAttribute('CONCEITO');
  64.         parent::addAttribute('ESTADO_CIVIL');
  65.         parent::addAttribute('SEXO');
  66.         parent::addAttribute('SITUACAO');
  67.         parent::addAttribute('CONJUGE_NOME');
  68.         parent::addAttribute('CONJUGE_NASCIMENTO');
  69.         parent::addAttribute('CONJUGE_TRABALHO');
  70.         parent::addAttribute('CONJUGE_ADMISSAO');
  71.         parent::addAttribute('CONJUGE_FONE');
  72.         parent::addAttribute('ENTREGA_NOME');
  73.         parent::addAttribute('ENTREGA_ENDERECO');
  74.         parent::addAttribute('ENTREGA_BAIRRO');
  75.         parent::addAttribute('ENTREGA_ID_CIDADE');
  76.         parent::addAttribute('ENTREGA_FONE');
  77.         parent::addAttribute('NOME_CONHECIDO1');
  78.         parent::addAttribute('NOME_CONHECIDO2');
  79.         parent::addAttribute('REF_BANCO1');
  80.         parent::addAttribute('REF_BANCO2');
  81.         parent::addAttribute('REF_BANCO3');
  82.         parent::addAttribute('REF_BANCO1_CONTA');
  83.         parent::addAttribute('REF_BANCO2_CONTA');
  84.         parent::addAttribute('REF_BANCO3_CONTA');
  85.         parent::addAttribute('REF_COM_NOME1');
  86.         parent::addAttribute('REF_COM_NOME2');
  87.         parent::addAttribute('REF_COM_NOME3');
  88.         parent::addAttribute('REF_COM_FONE1');
  89.         parent::addAttribute('REF_COM_FONE2');
  90.         parent::addAttribute('REF_COM_FONE3');
  91.         parent::addAttribute('REF_COM_VALOR1');
  92.         parent::addAttribute('REF_COM_VALOR2');
  93.         parent::addAttribute('REF_COM_VALOR3');
  94.         parent::addAttribute('REF_COM_PONTUALIDADE1');
  95.         parent::addAttribute('REF_COM_PONTUALIDADE2');
  96.         parent::addAttribute('REF_COM_PONTUALIDADE3');
  97.         parent::addAttribute('INDICADOR_1');
  98.         parent::addAttribute('INDICADOR_2');
  99.         parent::addAttribute('INDICADOR_3');
  100.         parent::addAttribute('INDICADOR_4');
  101.         parent::addAttribute('INDICADOR_5');
  102.         parent::addAttribute('INDICADOR_6');
  103.         parent::addAttribute('INDICADOR_7');
  104.         parent::addAttribute('INDICADOR_8');
  105.         parent::addAttribute('INDICADOR_9');
  106.         parent::addAttribute('INDICADOR_10');
  107.         parent::addAttribute('SPC_DATA_ENVIO');
  108.         parent::addAttribute('SPC_VALOR_COMPRA');
  109.         parent::addAttribute('SPC_DATA_BAIXA');
  110.         parent::addAttribute('SERASA_DATA_ENVIO');
  111.         parent::addAttribute('SERASA_VALOR_COMPRA');
  112.         parent::addAttribute('SERASA_DATA_BAIXA');
  113.         parent::addAttribute('OUTRA_DATA_ENVIO');
  114.         parent::addAttribute('OUTRA_VALOR_COMPRA');
  115.         parent::addAttribute('OUTRA_DATA_BAIXA');
  116.         parent::addAttribute('OBSERVACOES');
  117.         parent::addAttribute('TABELA_PRECO');
  118.         parent::addAttribute('TIPO_PAGAMENTO');
  119.         parent::addAttribute('FORMA_PAGAMENTO');
  120.         parent::addAttribute('ALTERAR_PRECO');
  121.         parent::addAttribute('ID_CLIENTE_COBRANCA');
  122.         parent::addAttribute('IND_TIPO_PAGAMENTO');
  123.         parent::addAttribute('RECEBE_COBRANCA');
  124.         parent::addAttribute('COBRAR_TAXA_CARTORIO');
  125.         parent::addAttribute('COBRAR_TAXA_BANCARIA');
  126.         parent::addAttribute('ID_USUARIO');
  127.         parent::addAttribute('DATA_HORA_ALT');
  128.         parent::addAttribute('ID_VENDEDOR');
  129.         parent::addAttribute('ID_TIPO_ATIVIDADE');
  130.         parent::addAttribute('ID_PRACA');
  131.         parent::addAttribute('ID_EMPRESA');
  132.         parent::addAttribute('CONCORRENCIA');
  133.         parent::addAttribute('EMAIL_NFE');
  134.         parent::addAttribute('ID_FOTO');
  135.         parent::addAttribute('UNIDADE_VENDA');
  136.         parent::addAttribute('ID_EMPRESA_NF');
  137.         parent::addAttribute('EMITE_NOTA');
  138.         parent::addAttribute('CEP');
  139.         parent::addAttribute('ID_TRANSPORTADOR');
  140.         parent::addAttribute('SALDO_CREDITO');
  141.         parent::addAttribute('CODIGO_CONVENIO');
  142.         parent::addAttribute('ID_CAIXA');
  143.         parent::addAttribute('HISTORICO_VENDAS');
  144.         parent::addAttribute('HISTORICO_ITENS');
  145.         parent::addAttribute('DESCONTO');
  146.         parent::addAttribute('ID_BANCO');
  147.         parent::addAttribute('EMAIL_BOLETO');
  148.         parent::addAttribute('ID_REDE');
  149.         parent::addAttribute('DIA_VENCTO');
  150.         parent::addAttribute('DIA_VIRADA');
  151.         parent::addAttribute('ID_FORMA');
  152.         parent::addAttribute('MATRICULA');
  153.         parent::addAttribute('AUTORIZADO1');
  154.         parent::addAttribute('AUTORIZADO2');
  155.         parent::addAttribute('AUTORIZADO3');
  156.         parent::addAttribute('AUTORIZADO4');
  157.         parent::addAttribute('AUTORIZADO5');
  158.         parent::addAttribute('AUTORIZADO6');
  159.         parent::addAttribute('TRANSMITIDO');
  160.         parent::addAttribute('OBS_SPC1');
  161.         parent::addAttribute('OBS_SPC2');
  162.         parent::addAttribute('OBS_SPC3');
  163.         parent::addAttribute('ROUPA_CALCA');
  164.         parent::addAttribute('ROUPA_CAMISA');
  165.         parent::addAttribute('ROUPA_SAPATO');
  166.         parent::addAttribute('ROUPA_BLAZER');
  167.         parent::addAttribute('DIRETORIO');
  168.         parent::addAttribute('DESC_FINANCEIRO');
  169.         parent::addAttribute('IND_TPAGTO');
  170.         parent::addAttribute('DESPESAS_CLIENTE');
  171.         parent::addAttribute('NOME_USER_LIBEROU');
  172.         parent::addAttribute('ID_USER_LIBEROU');
  173.         parent::addAttribute('MOTIVO_LIBERACAO');
  174.         parent::addAttribute('LIBERA_CREDIARIO');
  175.         parent::addAttribute('DATA_HORA_LIBERACAO');
  176.         parent::addAttribute('QUAL_PRECO');
  177.         parent::addAttribute('CARENCIA');
  178.         parent::addAttribute('ID_FOTO_A1');
  179.         parent::addAttribute('ID_FOTO_A2');
  180.         parent::addAttribute('ID_FOTO_A3');
  181.         parent::addAttribute('ID_FOTO_A4');
  182.         parent::addAttribute('ID_FOTO_A5');
  183.         parent::addAttribute('ID_FOTO_A6');
  184.         parent::addAttribute('VALOR_AUTORIZADO1');
  185.         parent::addAttribute('VALOR_AUTORIZADO2');
  186.         parent::addAttribute('VALOR_AUTORIZADO3');
  187.         parent::addAttribute('VALOR_AUTORIZADO4');
  188.         parent::addAttribute('VALOR_AUTORIZADO5');
  189.         parent::addAttribute('VALOR_AUTORIZADO6');
  190.         parent::addAttribute('DI_AUTORIZADO1');
  191.         parent::addAttribute('DI_AUTORIZADO2');
  192.         parent::addAttribute('DI_AUTORIZADO3');
  193.         parent::addAttribute('DI_AUTORIZADO4');
  194.         parent::addAttribute('DI_AUTORIZADO5');
  195.         parent::addAttribute('DI_AUTORIZADO6');
  196.         parent::addAttribute('DF_AUTORIZADO1');
  197.         parent::addAttribute('DF_AUTORIZADO2');
  198.         parent::addAttribute('DF_AUTORIZADO3');
  199.         parent::addAttribute('DF_AUTORIZADO4');
  200.         parent::addAttribute('DF_AUTORIZADO5');
  201.         parent::addAttribute('DF_AUTORIZADO6');
  202.         parent::addAttribute('DOC_AUTORIZADO1');
  203.         parent::addAttribute('DOC_AUTORIZADO2');
  204.         parent::addAttribute('DOC_AUTORIZADO3');
  205.         parent::addAttribute('DOC_AUTORIZADO4');
  206.         parent::addAttribute('DOC_AUTORIZADO5');
  207.         parent::addAttribute('DOC_AUTORIZADO6');
  208.         parent::addAttribute('ENDERECO_TRABALHO');
  209.         parent::addAttribute('CONTATO_FINANCEIRO');
  210.         parent::addAttribute('FONE_FINANCEIRO');
  211.         parent::addAttribute('RG_EXPEDICAO');
  212.         parent::addAttribute('RG_ORGAO');
  213.         parent::addAttribute('ESCOLARIDADE');
  214.         parent::addAttribute('DESC_APOSENTADORIA');
  215.         parent::addAttribute('DESC_PENSAO');
  216.         parent::addAttribute('NRO_APOSENTADORIA');
  217.         parent::addAttribute('NRO_PENSAO');
  218.         parent::addAttribute('NIT');
  219.         parent::addAttribute('ID_SITUACAO');
  220.         parent::addAttribute('ID_CONJUGE');
  221.         parent::addAttribute('ENDERECO_CORRESPONDENCIA');
  222.         parent::addAttribute('EMPRESA_CNPJ');
  223.         parent::addAttribute('EMPRESA_VINCULO');
  224.         parent::addAttribute('EMPRESA_DEPARTAMENTO');
  225.         parent::addAttribute('EMPRESA_TIPO_SALARIO');
  226.         parent::addAttribute('EMPRESA_ORIGEM');
  227.         parent::addAttribute('EMPRESA_OUTRAS_RENDAS');
  228.         parent::addAttribute('CONJUGE_TELEFONE');
  229.         parent::addAttribute('CONJUGE_TEMPO_TRABALHO');
  230.         parent::addAttribute('CONJUGE_SALARIO');
  231.         parent::addAttribute('CONJUGE_END_TRABALHO');
  232.         parent::addAttribute('CONJUGE_CID_TRABALHO');
  233.         parent::addAttribute('CONJUGE_CEP_TRABALHO');
  234.         parent::addAttribute('CONJUGE_DEP_TRABALHO');
  235.         parent::addAttribute('CONJUGE_DATA_ADM');
  236.         parent::addAttribute('CONJUGE_RENDA');
  237.         parent::addAttribute('CONJUGE_VINCULO');
  238.         parent::addAttribute('CONJUGE_TIPO_EMPREGO');
  239.         parent::addAttribute('CONJUGE_ORIGEM_RENDA');
  240.         parent::addAttribute('CONJUGE_OUTRAS_RENDAS');
  241.         parent::addAttribute('EMPRESA_CEP');
  242.         parent::addAttribute('CONJUGE_CNPJ_TRABALHO');
  243.         parent::addAttribute('CONJUGE_PROFISSAO');
  244.         parent::addAttribute('LIMITE_DATA_HORA_ALT');
  245.         parent::addAttribute('LIMITE_USUARIO_ALT');
  246.         parent::addAttribute('UNIDADES');
  247.         parent::addAttribute('CONJUGE_CPF');
  248.         parent::addAttribute('CONJUGE_RG');
  249.         parent::addAttribute('CASAMENTO_DATA');
  250.         parent::addAttribute('CASAMENTO_TIPO');
  251.         parent::addAttribute('FRETE_PAGAR');
  252.         parent::addAttribute('ID_MEUS_PEDIDOS');
  253.         parent::addAttribute('DATA_ALT_MEUS_PEDIDOS');
  254.         parent::addAttribute('ERRO_MEUS_PEDIDOS');
  255.     }
  256. }
  257.  ClientList.class.php:
  1. <?php
  2.  class Cliente extends TRecord
  3. {
  4.     const TABLENAME 'cliente';
  5.     const PRIMARYKEY'id';
  6.     const IDPOLICY =  'max'// {max, serial}
  7.     
  8.     public function get_situacao_cli()
  9.     {
  10.         $nomes = array('A'=>'Ativo''B'=>'Bloqueado','I'=>'Inativo');
  11.         return $nomes[$this->SITUACAO];
  12.     }
  13.     
  14.  public function get_cidade()
  15.       {
  16.            if (empty($this->cidade))
  17.             $this->cidade = new Cidade($this->ID_CIDADE);
  18.     
  19.            // returns the associated object
  20.            return $this->cidade;
  21.       }
  22. ?>



  1. <?php
  2. /**
  3.  * ClienteList Listing
  4.  * @author  <your name here>
  5.  */
  6. class ClienteList extends TStandardList
  7. {
  8.     protected $form;     // registration form
  9.     protected $datagrid// listing
  10.     protected $pageNavigation;
  11.     protected $formgrid;
  12.     protected $deleteButton;
  13.     protected $transformCallback;
  14.     
  15.     /**
  16.      * Page constructor
  17.      */
  18.     public function __construct()
  19.     {
  20.         parent::__construct();
  21.         
  22.         parent::setDatabase('conexao');            // defines the database
  23.         parent::setActiveRecord('Cliente');   // defines the active record
  24.         parent::setDefaultOrder('ID_CLIENTE''asc');         // defines the default order
  25.         // parent::setCriteria($criteria) // define a standard filter
  26.         parent::addFilterField('CODIGO''=''CODIGO'); // filterField, operator, formField
  27.         parent::addFilterField('RAZAO_SOCIAL''like''RAZAO_SOCIAL'); // filterField, operator, formField
  28.         parent::addFilterField('CPF''like''CPF'); // filterField, operator, formField
  29.         parent::addFilterField('CNPJ''like''CNPJ'); // filterField, operator, formField
  30.         parent::addFilterField('ID_CIDADE''like''ID_CIDADE'); // filterField, operator, formField
  31.         parent::addFilterField('FONE''like''FONE'); // filterField, operator, formField
  32.         parent::addFilterField('SITUACAO''like''SITUACAO'); // filterField, operator, formField
  33.       
  34.         // creates the form
  35.         $this->form = new TQuickForm('form_search_Cliente');
  36.         $this->form->class 'tform'// change CSS class
  37.         
  38.         $this->form->style 'display: table;width:100%'// change style
  39.         $this->form->setFormTitle('Cliente');
  40.        // $cliente = new Cliente(1);
  41. //echo $cliente->cidade->nome;
  42.         // create the form fields
  43.         $CODIGO = new TEntry('CODIGO');
  44.         $RAZAO_SOCIAL = new TEntry('RAZAO_SOCIAL');
  45.         $CPF = new TEntry('CPF');
  46.         $CNPJ = new TEntry('CNPJ');
  47.         $ID_CIDADE = new TEntry('ID_CIDADE');
  48.         $FONE = new TEntry('FONE');
  49.         $SITUACAO = new TEntry('SITUACAO');
  50.       
  51.         // add the fields
  52.         $this->form->addQuickField('Código:'$CODIGO70 );
  53.         $this->form->addQuickField('Razão Social:'$RAZAO_SOCIAL,  400 );
  54.         $this->form->addQuickField('CPF/CNPJ:'$CPF,  200 );
  55.         $this->form->addQuickField('Situação:'$SITUACAO,  200 );
  56.    
  57.         
  58.         // keep the form filled during navigation with session data
  59.         $this->form->setDataTSession::getValue('Cliente_filter_data') );
  60.         
  61.         // add the search form actions
  62.         $this->form->addQuickAction(_t('Find'), new TAction(array($this'onSearch')), 'fa:search');
  63.         $this->form->addQuickAction(_t('New'),  new TAction(array('ClienteForm''onEdit')), 'bs:plus-sign green');
  64.         
  65.         // creates a DataGrid
  66.         $this->datagrid = new TDataGrid;
  67.         
  68.         $this->datagrid->style 'width: 100%';
  69.         $this->datagrid->setHeight(320);
  70.         // $this->datagrid->datatable = 'true';
  71.         // $this->datagrid->enablePopover('Popover', 'Hi <b> {name} </b>');
  72.         
  73.         // creates the datagrid columns
  74.         $column_CODIGO = new TDataGridColumn('CODIGO''Código''center');
  75.         $column_RAZAO_SOCIAL = new TDataGridColumn('RAZAO_SOCIAL''Razão Social''left');
  76.         $column_CPF = new TDataGridColumn('CPF''CPF/CNPJ''center');
  77.         $column_CNPJ = new TDataGridColumn('CNPJ''CNPJ''center');
  78.         $column_ID_CIDADE = new TDataGridColumn('Cidade''Cidade''center');
  79.         $column_FONE = new TDataGridColumn('FONE''Telefone''center');
  80.         $column_SITUACAO = new TDataGridColumn('situacao_cli''Situação''center');
  81.        
  82.         // add the columns to the DataGrid
  83.         $this->datagrid->addColumn($column_CODIGO);
  84.         $this->datagrid->addColumn($column_RAZAO_SOCIAL);
  85.         $this->datagrid->addColumn($column_CPF);
  86.         //$this->datagrid->addColumn($column_CNPJ);
  87.         $this->datagrid->addColumn($column_ID_CIDADE);
  88.         $this->datagrid->addColumn($column_FONE);
  89.         $this->datagrid->addColumn($column_SITUACAO);
  90.      
  91.         // creates the datagrid column actions
  92.         $order_CODIGO = new TAction(array($this'onReload'));
  93.         $order_CODIGO->setParameter('order''CODIGO');
  94.         $column_CODIGO->setAction($order_CODIGO);
  95.         
  96.         $order_RAZAO_SOCIAL = new TAction(array($this'onReload'));
  97.         $order_RAZAO_SOCIAL->setParameter('order''RAZAO_SOCIAL');
  98.         $column_RAZAO_SOCIAL->setAction($order_RAZAO_SOCIAL);
  99.         
  100.         
  101.         // create EDIT action
  102.         $action_edit = new TDataGridAction(array('ClienteForm''onEdit'));
  103.         $action_edit->setUseButton(TRUE);
  104.         $action_edit->setButtonClass('btn btn-default');
  105.         $action_edit->setLabel(_t('Edit'));
  106.         $action_edit->setImage('fa:pencil-square-o blue fa-lg');
  107.         $action_edit->setField('ID_CLIENTE');
  108.         $this->datagrid->addAction($action_edit);
  109.         
  110.         // create DELETE action
  111.         $action_del = new TDataGridAction(array($this'onDelete'));
  112.         $action_del->setUseButton(TRUE);
  113.         $action_del->setButtonClass('btn btn-default');
  114.         $action_del->setLabel(_t('Delete'));
  115.         $action_del->setImage('fa:trash-o red fa-lg');
  116.         $action_del->setField('ID_CLIENTE');
  117.         $this->datagrid->addAction($action_del);
  118.         
  119.         // create the datagrid model
  120.         $this->datagrid->createModel();
  121.         
  122.         // create the page navigation
  123.         $this->pageNavigation = new TPageNavigation;
  124.         $this->pageNavigation->setAction(new TAction(array($this'onReload')));
  125.         $this->pageNavigation->setWidth($this->datagrid->getWidth());
  126.         
  127.         // vertical box container
  128.         $container = new TVBox;
  129.         $container->style 'width: 100%';
  130.         // $container->add(new TXMLBreadCrumb('menu.xml', __CLASS__));
  131.         $container->add($this->form);
  132.         $container->add($this->datagrid);
  133.         $container->add($this->pageNavigation);
  134.         
  135.         parent::add($container);
  136.     }
  137.     
  138. }
  139. </your>
NR

Por que há 2 models de Cliente?
LG

Cidade.class.php:
  1. <?php
  2. /**
  3.  * Cidade Active Record
  4.  * @author  <your-name-here>
  5.  */
  6. class Cidade extends TRecord
  7. {
  8.     const TABLENAME 'cidade';
  9.     const PRIMARYKEY'ID_CIDADE';
  10.     const IDPOLICY =  'serial'// {max, serial}
  11.     
  12.     
  13.     /**
  14.      * Constructor method
  15.      */
  16.     public function __construct($id NULL$callObjectLoad TRUE)
  17.     {
  18.         parent::__construct($id$callObjectLoad);
  19.         parent::addAttribute('DESCRICAO');
  20.         parent::addAttribute('UF');
  21.         parent::addAttribute('COD_IBGE');
  22.         parent::addAttribute('CEP');
  23.         parent::addAttribute('ID_USUARIO');
  24.         parent::addAttribute('DATA_HORA_ALT');
  25.         parent::addAttribute('CONCORRENCIA');
  26.         parent::addAttribute('ID_PAIS');
  27.     }
  28. }
  29. Clientes.class.php:
  1. <?php
  2.  class Cliente extends TRecord
  3. {
  4.     const TABLENAME 'cliente';
  5.     const PRIMARYKEY'id';
  6.     const IDPOLICY =  'max'// {max, serial}
  7.     
  8.     public function get_situacao_cli()
  9.     {
  10.         $nomes = array('A'=>'Ativo''B'=>'Bloqueado','I'=>'Inativo');
  11.         return $nomes[$this->SITUACAO];
  12.     }
  13.     
  14. ?>

  1. <?php
  2. /**
  3.  * Cliente Active Record
  4.  * @author  <your-name-here>
  5.  */
  6. class Cliente extends TRecord
  7. {
  8.     const TABLENAME 'cliente';
  9.     const PRIMARYKEY'ID_CLIENTE';
  10.     const IDPOLICY =  'serial'// {max, serial}
  11.     
  12.     
  13.      public function get_cidade()
  14.       {
  15.            if (empty($this->cidade))
  16.             $this->cidade = new Cidade($this->ID_CIDADE);
  17.     
  18.            // returns the associated object
  19.            return $this->cidade;
  20.       }
  21.     
  22.     
  23.     public function __construct($id NULL$callObjectLoad TRUE)
  24.     {
  25.         parent::__construct($id$callObjectLoad);
  26.         parent::addAttribute('CODIGO');
  27.         parent::addAttribute('RAZAO_SOCIAL');
  28.         parent::addAttribute('NOME_FANTASIA');
  29.         parent::addAttribute('ENDERECO');
  30.         parent::addAttribute('NUMERO');
  31.         parent::addAttribute('COMPLEMENTO');
  32.         parent::addAttribute('BAIRRO');
  33.         parent::addAttribute('ID_CIDADE');
  34.         parent::addAttribute('FONE');
  35.         parent::addAttribute('FAX');
  36.                 parent::addAttribute('CELULAR');
  37.         parent::addAttribute('CONTATO');
  38.         parent::addAttribute('CNPJ');
  39.         parent::addAttribute('INSCRICAO');
  40.         parent::addAttribute('EMAIL');
  41.         parent::addAttribute('CPF');
  42.         parent::addAttribute('IDENTIDADE');
  43.         parent::addAttribute('TITULO_ELEITOR');
  44.         parent::addAttribute('CART_PROFIS');
  45.         parent::addAttribute('CART_SERIE');
  46.         parent::addAttribute('CART_ORGAO');
  47.         parent::addAttribute('FILIACAO_PAI');
  48.         parent::addAttribute('FILIACAO_MAE');
  49.         parent::addAttribute('DATA_NASCIMENTO');
  50.         parent::addAttribute('DATA_CADASTRO');
  51.         parent::addAttribute('DATA_ALTERACAO');
  52.         parent::addAttribute('DEPENDENTES');
  53.         parent::addAttribute('COMPROVANTE_ENDERECO');
  54.         parent::addAttribute('DATA_ENDERECO');
  55.         parent::addAttribute('TIPO_CASA');
  56.         parent::addAttribute('VALOR_ALUGUEL');
  57.         parent::addAttribute('VALOR_DESPESAS');
  58.         parent::addAttribute('ABERTURA_CADASTRO');
  59.         parent::addAttribute('NATURALIDADE');
  60.         parent::addAttribute('EMPREGO_ANTERIOR');
  61.         parent::addAttribute('TEMPO_SERVICO');
  62.         parent::addAttribute('EMPRESA_NOME');
  63.         parent::addAttribute('EMPRESA_ID_CIDADE');
  64.         parent::addAttribute('EMPRESA_FUNCAO');
  65.         parent::addAttribute('EMPRESA_ADMISSAO');
  66.         parent::addAttribute('EMPRESA_FONE');
  67.         parent::addAttribute('RENDA_CLIENTE');
  68.         parent::addAttribute('RENDA_CONJUGE');
  69.         parent::addAttribute('LIMITE_CREDITO');
  70.         parent::addAttribute('CONCEITO');
  71.         parent::addAttribute('ESTADO_CIVIL');
  72.         parent::addAttribute('SEXO');
  73.         parent::addAttribute('SITUACAO');
  74.         parent::addAttribute('CONJUGE_NOME');
  75.         parent::addAttribute('CONJUGE_NASCIMENTO');
  76.         parent::addAttribute('CONJUGE_TRABALHO');
  77.         parent::addAttribute('CONJUGE_ADMISSAO');
  78.         parent::addAttribute('CONJUGE_FONE');
  79.         parent::addAttribute('ENTREGA_NOME');
  80.         parent::addAttribute('ENTREGA_ENDERECO');
  81.         parent::addAttribute('ENTREGA_BAIRRO');
  82.         parent::addAttribute('ENTREGA_ID_CIDADE');
  83.         parent::addAttribute('ENTREGA_FONE');
  84.         parent::addAttribute('NOME_CONHECIDO1');
  85.         parent::addAttribute('NOME_CONHECIDO2');
  86.         parent::addAttribute('REF_BANCO1');
  87.         parent::addAttribute('REF_BANCO2');
  88.         parent::addAttribute('REF_BANCO3');
  89.         parent::addAttribute('REF_BANCO1_CONTA');
  90.         parent::addAttribute('REF_BANCO2_CONTA');
  91.         parent::addAttribute('REF_BANCO3_CONTA');
  92.         parent::addAttribute('REF_COM_NOME1');
  93.         parent::addAttribute('REF_COM_NOME2');
  94.         parent::addAttribute('REF_COM_NOME3');
  95.         parent::addAttribute('REF_COM_FONE1');
  96.         parent::addAttribute('REF_COM_FONE2');
  97.         parent::addAttribute('REF_COM_FONE3');
  98.         parent::addAttribute('REF_COM_VALOR1');
  99.         parent::addAttribute('REF_COM_VALOR2');
  100.         parent::addAttribute('REF_COM_VALOR3');
  101.         parent::addAttribute('REF_COM_PONTUALIDADE1');
  102.         parent::addAttribute('REF_COM_PONTUALIDADE2');
  103.         parent::addAttribute('REF_COM_PONTUALIDADE3');
  104.         parent::addAttribute('INDICADOR_1');
  105.         parent::addAttribute('INDICADOR_2');
  106.         parent::addAttribute('INDICADOR_3');
  107.         parent::addAttribute('INDICADOR_4');
  108.         parent::addAttribute('INDICADOR_5');
  109.         parent::addAttribute('INDICADOR_6');
  110.         parent::addAttribute('INDICADOR_7');
  111.         parent::addAttribute('INDICADOR_8');
  112.         parent::addAttribute('INDICADOR_9');
  113.         parent::addAttribute('INDICADOR_10');
  114.         parent::addAttribute('SPC_DATA_ENVIO');
  115.         parent::addAttribute('SPC_VALOR_COMPRA');
  116.         parent::addAttribute('SPC_DATA_BAIXA');
  117.         parent::addAttribute('SERASA_DATA_ENVIO');
  118.         parent::addAttribute('SERASA_VALOR_COMPRA');
  119.         parent::addAttribute('SERASA_DATA_BAIXA');
  120.         parent::addAttribute('OUTRA_DATA_ENVIO');
  121.         parent::addAttribute('OUTRA_VALOR_COMPRA');
  122.         parent::addAttribute('OUTRA_DATA_BAIXA');
  123.         parent::addAttribute('OBSERVACOES');
  124.         parent::addAttribute('TABELA_PRECO');
  125.         parent::addAttribute('TIPO_PAGAMENTO');
  126.         parent::addAttribute('FORMA_PAGAMENTO');
  127.         parent::addAttribute('ALTERAR_PRECO');
  128.         parent::addAttribute('ID_CLIENTE_COBRANCA');
  129.         parent::addAttribute('IND_TIPO_PAGAMENTO');
  130.         parent::addAttribute('RECEBE_COBRANCA');
  131.         parent::addAttribute('COBRAR_TAXA_CARTORIO');
  132.         parent::addAttribute('COBRAR_TAXA_BANCARIA');
  133.         parent::addAttribute('ID_USUARIO');
  134.         parent::addAttribute('DATA_HORA_ALT');
  135.         parent::addAttribute('ID_VENDEDOR');
  136.         parent::addAttribute('ID_TIPO_ATIVIDADE');
  137.         parent::addAttribute('ID_PRACA');
  138.         parent::addAttribute('ID_EMPRESA');
  139.         parent::addAttribute('CONCORRENCIA');
  140.         parent::addAttribute('EMAIL_NFE');
  141.         parent::addAttribute('ID_FOTO');
  142.         parent::addAttribute('UNIDADE_VENDA');
  143.         parent::addAttribute('ID_EMPRESA_NF');
  144.         parent::addAttribute('EMITE_NOTA');
  145.         parent::addAttribute('CEP');
  146.         parent::addAttribute('ID_TRANSPORTADOR');
  147.         parent::addAttribute('SALDO_CREDITO');
  148.         parent::addAttribute('CODIGO_CONVENIO');
  149.         parent::addAttribute('ID_CAIXA');
  150.         parent::addAttribute('HISTORICO_VENDAS');
  151.         parent::addAttribute('HISTORICO_ITENS');
  152.         parent::addAttribute('DESCONTO');
  153.         parent::addAttribute('ID_BANCO');
  154.         parent::addAttribute('EMAIL_BOLETO');
  155.         parent::addAttribute('ID_REDE');
  156.         parent::addAttribute('DIA_VENCTO');
  157.         parent::addAttribute('DIA_VIRADA');
  158.         parent::addAttribute('ID_FORMA');
  159.         parent::addAttribute('MATRICULA');
  160.         parent::addAttribute('AUTORIZADO1');
  161.         parent::addAttribute('AUTORIZADO2');
  162.         parent::addAttribute('AUTORIZADO3');
  163.         parent::addAttribute('AUTORIZADO4');
  164.         parent::addAttribute('AUTORIZADO5');
  165.         parent::addAttribute('AUTORIZADO6');
  166.         parent::addAttribute('TRANSMITIDO');
  167.         parent::addAttribute('OBS_SPC1');
  168.         parent::addAttribute('OBS_SPC2');
  169.         parent::addAttribute('OBS_SPC3');
  170.         parent::addAttribute('ROUPA_CALCA');
  171.         parent::addAttribute('ROUPA_CAMISA');
  172.         parent::addAttribute('ROUPA_SAPATO');
  173.         parent::addAttribute('ROUPA_BLAZER');
  174.         parent::addAttribute('DIRETORIO');
  175.         parent::addAttribute('DESC_FINANCEIRO');
  176.         parent::addAttribute('IND_TPAGTO');
  177.         parent::addAttribute('DESPESAS_CLIENTE');
  178.         parent::addAttribute('NOME_USER_LIBEROU');
  179.         parent::addAttribute('ID_USER_LIBEROU');
  180.         parent::addAttribute('MOTIVO_LIBERACAO');
  181.         parent::addAttribute('LIBERA_CREDIARIO');
  182.         parent::addAttribute('DATA_HORA_LIBERACAO');
  183.         parent::addAttribute('QUAL_PRECO');
  184.         parent::addAttribute('CARENCIA');
  185.         parent::addAttribute('ID_FOTO_A1');
  186.         parent::addAttribute('ID_FOTO_A2');
  187.         parent::addAttribute('ID_FOTO_A3');
  188.         parent::addAttribute('ID_FOTO_A4');
  189.         parent::addAttribute('ID_FOTO_A5');
  190.         parent::addAttribute('ID_FOTO_A6');
  191.         parent::addAttribute('VALOR_AUTORIZADO1');
  192.         parent::addAttribute('VALOR_AUTORIZADO2');
  193.         parent::addAttribute('VALOR_AUTORIZADO3');
  194.         parent::addAttribute('VALOR_AUTORIZADO4');
  195.         parent::addAttribute('VALOR_AUTORIZADO5');
  196.         parent::addAttribute('VALOR_AUTORIZADO6');
  197.         parent::addAttribute('DI_AUTORIZADO1');
  198.         parent::addAttribute('DI_AUTORIZADO2');
  199.         parent::addAttribute('DI_AUTORIZADO3');
  200.         parent::addAttribute('DI_AUTORIZADO4');
  201.         parent::addAttribute('DI_AUTORIZADO5');
  202.         parent::addAttribute('DI_AUTORIZADO6');
  203.         parent::addAttribute('DF_AUTORIZADO1');
  204.         parent::addAttribute('DF_AUTORIZADO2');
  205.         parent::addAttribute('DF_AUTORIZADO3');
  206.         parent::addAttribute('DF_AUTORIZADO4');
  207.         parent::addAttribute('DF_AUTORIZADO5');
  208.         parent::addAttribute('DF_AUTORIZADO6');
  209.         parent::addAttribute('DOC_AUTORIZADO1');
  210.         parent::addAttribute('DOC_AUTORIZADO2');
  211.         parent::addAttribute('DOC_AUTORIZADO3');
  212.         parent::addAttribute('DOC_AUTORIZADO4');
  213.         parent::addAttribute('DOC_AUTORIZADO5');
  214.         parent::addAttribute('DOC_AUTORIZADO6');
  215.         parent::addAttribute('ENDERECO_TRABALHO');
  216.         parent::addAttribute('CONTATO_FINANCEIRO');
  217.         parent::addAttribute('FONE_FINANCEIRO');
  218.         parent::addAttribute('RG_EXPEDICAO');
  219.         parent::addAttribute('RG_ORGAO');
  220.         parent::addAttribute('ESCOLARIDADE');
  221.         parent::addAttribute('DESC_APOSENTADORIA');
  222.         parent::addAttribute('DESC_PENSAO');
  223.         parent::addAttribute('NRO_APOSENTADORIA');
  224.         parent::addAttribute('NRO_PENSAO');
  225.         parent::addAttribute('NIT');
  226.         parent::addAttribute('ID_SITUACAO');
  227.         parent::addAttribute('ID_CONJUGE');
  228.         parent::addAttribute('ENDERECO_CORRESPONDENCIA');
  229.         parent::addAttribute('EMPRESA_CNPJ');
  230.         parent::addAttribute('EMPRESA_VINCULO');
  231.         parent::addAttribute('EMPRESA_DEPARTAMENTO');
  232.         parent::addAttribute('EMPRESA_TIPO_SALARIO');
  233.         parent::addAttribute('EMPRESA_ORIGEM');
  234.         parent::addAttribute('EMPRESA_OUTRAS_RENDAS');
  235.         parent::addAttribute('CONJUGE_TELEFONE');
  236.         parent::addAttribute('CONJUGE_TEMPO_TRABALHO');
  237.         parent::addAttribute('CONJUGE_SALARIO');
  238.         parent::addAttribute('CONJUGE_END_TRABALHO');
  239.         parent::addAttribute('CONJUGE_CID_TRABALHO');
  240.         parent::addAttribute('CONJUGE_CEP_TRABALHO');
  241.         parent::addAttribute('CONJUGE_DEP_TRABALHO');
  242.         parent::addAttribute('CONJUGE_DATA_ADM');
  243.         parent::addAttribute('CONJUGE_RENDA');
  244.         parent::addAttribute('CONJUGE_VINCULO');
  245.         parent::addAttribute('CONJUGE_TIPO_EMPREGO');
  246.         parent::addAttribute('CONJUGE_ORIGEM_RENDA');
  247.         parent::addAttribute('CONJUGE_OUTRAS_RENDAS');
  248.         parent::addAttribute('EMPRESA_CEP');
  249.         parent::addAttribute('CONJUGE_CNPJ_TRABALHO');
  250.         parent::addAttribute('CONJUGE_PROFISSAO');
  251.         parent::addAttribute('LIMITE_DATA_HORA_ALT');
  252.         parent::addAttribute('LIMITE_USUARIO_ALT');
  253.         parent::addAttribute('UNIDADES');
  254.         parent::addAttribute('CONJUGE_CPF');
  255.         parent::addAttribute('CONJUGE_RG');
  256.         parent::addAttribute('CASAMENTO_DATA');
  257.         parent::addAttribute('CASAMENTO_TIPO');
  258.         parent::addAttribute('FRETE_PAGAR');
  259.         parent::addAttribute('ID_MEUS_PEDIDOS');
  260.         parent::addAttribute('DATA_ALT_MEUS_PEDIDOS');
  261.         parent::addAttribute('ERRO_MEUS_PEDIDOS');
  262.     }
  263. }
  264.  
  265. ClientList.class.php:
  1. <?php
  2.  class Cliente extends TRecord
  3. {
  4.     const TABLENAME 'cliente';
  5.     const PRIMARYKEY'id';
  6.     const IDPOLICY =  'max'// {max, serial}
  7.     
  8.     public function get_situacao_cli()
  9.     {
  10.         $nomes = array('A'=>'Ativo''B'=>'Bloqueado','I'=>'Inativo');
  11.         return $nomes[$this->SITUACAO];
  12.     }
  13.     
  14. ?>



  1. <?php
  2. /**
  3.  * ClienteList Listing
  4.  * @author  <your name here>
  5.  */
  6. class ClienteList extends TStandardList
  7. {
  8.     protected $form;     // registration form
  9.     protected $datagrid// listing
  10.     protected $pageNavigation;
  11.     protected $formgrid;
  12.     protected $deleteButton;
  13.     protected $transformCallback;
  14.     
  15.     /**
  16.      * Page constructor
  17.      */
  18.     public function __construct()
  19.     {
  20.         parent::__construct();
  21.         
  22.         parent::setDatabase('conexao');            // defines the database
  23.         parent::setActiveRecord('Cliente');   // defines the active record
  24.         parent::setDefaultOrder('ID_CLIENTE''asc');         // defines the default order
  25.         // parent::setCriteria($criteria) // define a standard filter
  26.         parent::addFilterField('CODIGO''=''CODIGO'); // filterField, operator, formField
  27.         parent::addFilterField('RAZAO_SOCIAL''like''RAZAO_SOCIAL'); // filterField, operator, formField
  28.         parent::addFilterField('CPF''like''CPF'); // filterField, operator, formField
  29.         parent::addFilterField('CNPJ''like''CNPJ'); // filterField, operator, formField
  30.         parent::addFilterField('ID_CIDADE''like''ID_CIDADE'); // filterField, operator, formField
  31.         parent::addFilterField('FONE''like''FONE'); // filterField, operator, formField
  32.         parent::addFilterField('SITUACAO''like''SITUACAO'); // filterField, operator, formField
  33.       
  34.         // creates the form
  35.         $this->form = new TQuickForm('form_search_Cliente');
  36.         $this->form->class 'tform'// change CSS class
  37.         
  38.         $this->form->style 'display: table;width:100%'// change style
  39.         $this->form->setFormTitle('Cliente');
  40.        // $cliente = new Cliente(1);
  41. //echo $cliente->cidade->nome;
  42.         // create the form fields
  43.         $CODIGO = new TEntry('CODIGO');
  44.         $RAZAO_SOCIAL = new TEntry('RAZAO_SOCIAL');
  45.         $CPF = new TEntry('CPF');
  46.         $CNPJ = new TEntry('CNPJ');
  47.         $ID_CIDADE = new TEntry('ID_CIDADE');
  48.         $FONE = new TEntry('FONE');
  49.         $SITUACAO = new TEntry('SITUACAO');
  50.       
  51.         // add the fields
  52.         $this->form->addQuickField('Código:'$CODIGO70 );
  53.         $this->form->addQuickField('Razão Social:'$RAZAO_SOCIAL,  400 );
  54.         $this->form->addQuickField('CPF/CNPJ:'$CPF,  200 );
  55.         $this->form->addQuickField('Situação:'$SITUACAO,  200 );
  56.    
  57.         
  58.         // keep the form filled during navigation with session data
  59.         $this->form->setDataTSession::getValue('Cliente_filter_data') );
  60.         
  61.         // add the search form actions
  62.         $this->form->addQuickAction(_t('Find'), new TAction(array($this'onSearch')), 'fa:search');
  63.         $this->form->addQuickAction(_t('New'),  new TAction(array('ClienteForm''onEdit')), 'bs:plus-sign green');
  64.         
  65.         // creates a DataGrid
  66.         $this->datagrid = new TDataGrid;
  67.         
  68.         $this->datagrid->style 'width: 100%';
  69.         $this->datagrid->setHeight(320);
  70.         // $this->datagrid->datatable = 'true';
  71.         // $this->datagrid->enablePopover('Popover', 'Hi <b> {name} </b>');
  72.         
  73.         // creates the datagrid columns
  74.         $column_CODIGO = new TDataGridColumn('CODIGO''Código''center');
  75.         $column_RAZAO_SOCIAL = new TDataGridColumn('RAZAO_SOCIAL''Razão Social''left');
  76.         $column_CPF = new TDataGridColumn('CPF''CPF/CNPJ''center');
  77.         $column_CNPJ = new TDataGridColumn('CNPJ''CNPJ''center');
  78.         $column_ID_CIDADE = new TDataGridColumn('Cidade''Cidade''center');
  79.         $column_FONE = new TDataGridColumn('FONE''Telefone''center');
  80.         $column_SITUACAO = new TDataGridColumn('situacao_cli''Situação''center');
  81.        
  82.         // add the columns to the DataGrid
  83.         $this->datagrid->addColumn($column_CODIGO);
  84.         $this->datagrid->addColumn($column_RAZAO_SOCIAL);
  85.         $this->datagrid->addColumn($column_CPF);
  86.         //$this->datagrid->addColumn($column_CNPJ);
  87.         $this->datagrid->addColumn($column_ID_CIDADE);
  88.         $this->datagrid->addColumn($column_FONE);
  89.         $this->datagrid->addColumn($column_SITUACAO);
  90.      
  91.         // creates the datagrid column actions
  92.         $order_CODIGO = new TAction(array($this'onReload'));
  93.         $order_CODIGO->setParameter('order''CODIGO');
  94.         $column_CODIGO->setAction($order_CODIGO);
  95.         
  96.         $order_RAZAO_SOCIAL = new TAction(array($this'onReload'));
  97.         $order_RAZAO_SOCIAL->setParameter('order''RAZAO_SOCIAL');
  98.         $column_RAZAO_SOCIAL->setAction($order_RAZAO_SOCIAL);
  99.         
  100.         
  101.         // create EDIT action
  102.         $action_edit = new TDataGridAction(array('ClienteForm''onEdit'));
  103.         $action_edit->setUseButton(TRUE);
  104.         $action_edit->setButtonClass('btn btn-default');
  105.         $action_edit->setLabel(_t('Edit'));
  106.         $action_edit->setImage('fa:pencil-square-o blue fa-lg');
  107.         $action_edit->setField('ID_CLIENTE');
  108.         $this->datagrid->addAction($action_edit);
  109.         
  110.         // create DELETE action
  111.         $action_del = new TDataGridAction(array($this'onDelete'));
  112.         $action_del->setUseButton(TRUE);
  113.         $action_del->setButtonClass('btn btn-default');
  114.         $action_del->setLabel(_t('Delete'));
  115.         $action_del->setImage('fa:trash-o red fa-lg');
  116.         $action_del->setField('ID_CLIENTE');
  117.         $this->datagrid->addAction($action_del);
  118.         
  119.         // create the datagrid model
  120.         $this->datagrid->createModel();
  121.         
  122.         // create the page navigation
  123.         $this->pageNavigation = new TPageNavigation;
  124.         $this->pageNavigation->setAction(new TAction(array($this'onReload')));
  125.         $this->pageNavigation->setWidth($this->datagrid->getWidth());
  126.         
  127.         // vertical box container
  128.         $container = new TVBox;
  129.         $container->style 'width: 100%';
  130.         // $container->add(new TXMLBreadCrumb('menu.xml', __CLASS__));
  131.         $container->add($this->form);
  132.         $container->add($this->datagrid);
  133.         $container->add($this->pageNavigation);
  134.         
  135.         parent::add($container);
  136.     }
  137.     
  138. }
  139. </your>
PD

Sugiro a leitura deste artigo:
www.adianti.com.br/forum/pt/view_876?pensando-em-objetos-nao-em-sql-

Aliás, leia todos artigos da primeira aba do fórum ;-)

Att,