Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Pegando apenas um campo de uma tabela Primeiramente gostaria de parabenizá-los pelo excelente Framework...Sou novato na área do desenvolvimento e no Adianti Studio então não levem a mal a pergunta de nível iniciante mas vamos la. Gostaria de saber como faço pra pega apenas um campo de uma tabela e tratar esse campo fora d grid; e depois sim add na grid o campo já tratado...tentei usar um GET tipo assim => " $descricao = $_GET...
JF
Pegando apenas um campo de uma tabela  
Primeiramente gostaria de parabenizá-los pelo excelente Framework...Sou novato na área do desenvolvimento e no Adianti Studio então não levem a mal a pergunta de nível iniciante mas vamos la. Gostaria de saber como faço pra pega apenas um campo de uma tabela e tratar esse campo fora d grid; e depois sim add na grid o campo já tratado...tentei usar um GET tipo assim => " $descricao = $_GET['descricao']; ".
Mas to bem perdido não to conseguindo, sei q isso é bem simples porém não achei nada parecido e já to perdendo muito tempo em algo q parece ser "tão simples".

Fico no aguardo se alguém puder me ajudar.
Obrigado

Curso completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto Quero me inscrever agora!

Comentários (22)


MG

Jeferson
Pesquise no tutor sobre transformadores. Trata-se de um recurso onde você pode por exemplo mudar um label na coluna status, vamos a um exemplo:
- Neste exemplo subtende-se que a coluna na datagrid seja $column_status e seu conteúdo no BD seja "A" de Ativo e "I" de Inativo. No exemplo eu estou "transformando" o valor do campo em algo fácil de entender. Será exibido um label com fundo verde para o status igual a A e vermelho com status igual a I e o label também sofrerá transformação.
Você pode fazer algo semelhante, exibindo os valores monetários e etc......

  1. <?php
  2.     $column_status->setTransformer(function($value$object$row) {
  3.          $lbl = new TLabel('');
  4.          if ($value == 'A') { // status ativo
  5.              $lbl->setLabel('Ativo');
  6.              $lbl->class 'label label-success';
  7.          } else {
  8.              $lbl->setLabel('Inativo');
  9.              $lbl->class 'label label-danger';
  10.          }
  11.          return $lbl;
  12.    })
  13. ?>


Espero ter ajudado
JF

Bah Marcelo Gomes é exatamente isso que eu preciso, altera o cor do chamado aberto pelo usuário, diferenciar o chamado pendente do finalizado...porem estou com um pouco de duvida de como colocar em pratica esse código, tenho que criar uma função fora do construct, tipo onde fica as function onReload, onSearch...e depois passar por parâmetro tipo isso?
JF

Bah Marcelo Gomes é exatamente isso que eu preciso, altera o cor do chamado aberto pelo usuário, diferenciar o chamado pendente do finalizado...porem estou com um pouco de duvida de como colocar em pratica esse código, tenho que criar uma função fora do construct, tipo onde fica as function onReload, onSearch...e depois passar por parâmetro tipo isso?
JF

Bah Marcelo Gomes é exatamente isso que eu preciso, altera o cor do chamado aberto pelo usuário, diferenciar o chamado pendente do finalizado...porem estou com um pouco de duvida de como colocar em pratica esse código, tenho que criar uma função fora do construct, tipo onde fica as function onReload, onSearch...e depois passar por parâmetro tipo isso?
JF

Bah Marcelo Gomes é exatamente isso que eu preciso, altera o cor do chamado aberto pelo usuário, diferenciar o chamado pendente do finalizado...porem estou com um pouco de duvida de como colocar em pratica esse código, tenho que criar uma função fora do construct, tipo onde fica as function onReload, onSearch...e depois passar por parâmetro tipo isso?
JF

Bah Marcelo Gomes é exatamente isso que eu preciso, altera o cor do chamado aberto pelo usuário, diferenciar o chamado pendente do finalizado...porem estou com um pouco de duvida de como colocar em pratica esse código, tenho que criar uma função fora do construct, tipo onde fica as function onReload, onSearch...e depois passar por parâmetro tipo isso?
JF

Bah Marcelo Gomes é exatamente isso que eu preciso, altera o cor do chamado aberto pelo usuário, diferenciar o chamado pendente do finalizado...porem estou com um pouco de duvida de como colocar em pratica esse código, tenho que criar uma função fora do construct, tipo onde fica as function onReload, onSearch...e depois passar por parâmetro tipo isso?
JF

Bah Marcelo Gomes é exatamente isso que eu preciso, altera o cor do chamado aberto pelo usuário, diferenciar o chamado pendente do finalizado...porem estou com um pouco de duvida de como colocar em pratica esse código, tenho que criar uma função fora do construct, tipo onde fica as function onReload, onSearch...e depois passar por parâmetro tipo isso?
JF

Bah Marcelo Gomes é exatamente isso que eu preciso, altera o cor do chamado aberto pelo usuário, diferenciar o chamado pendente do finalizado...porem estou com um pouco de duvida de como colocar em pratica esse código, tenho que criar uma função fora do construct, tipo onde fica as function onReload, onSearch...e depois passar por parâmetro tipo isso?
JF

Bah Marcelo Gomes é exatamente isso que eu preciso, altera o cor do chamado aberto pelo usuário, diferenciar o chamado pendente do finalizado...porem estou com um pouco de duvida de como colocar em pratica esse código, tenho que criar uma função fora do construct, tipo onde fica as function onReload, onSearch...e depois passar por parâmetro tipo isso?
JF

Bah Marcelo Gomes é exatamente isso que eu preciso, altera o cor do chamado aberto pelo usuário, diferenciar o chamado pendente do finalizado...porem estou com um pouco de duvida de como colocar em pratica esse código, tenho que criar uma função fora do construct, tipo onde fica as function onReload, onSearch...e depois passar por parâmetro tipo isso?
JF

Bah Marcelo Gomes é exatamente isso que eu preciso, altera o cor do chamado aberto pelo usuário, diferenciar o chamado pendente do finalizado...porem estou com um pouco de duvida de como colocar em pratica esse código, tenho que criar uma função fora do construct, tipo onde fica as function onReload, onSearch...e depois passar por parâmetro tipo isso?
JF

Bah Marcelo Gomes é exatamente isso que eu preciso, altera o cor do chamado aberto pelo usuário, diferenciar o chamado pendente do finalizado...porem estou com um pouco de duvida de como colocar em pratica esse código, tenho que criar uma função fora do construct, tipo onde fica as function onReload, onSearch...e depois passar por parâmetro tipo isso?
JF

Bah Marcelo Gomes é exatamente isso que eu preciso, altera o cor do chamado aberto pelo usuário, diferenciar o chamado pendente do finalizado...porem estou com um pouco de duvida de como colocar em pratica esse código, tenho que criar uma função fora do construct, tipo onde fica as function onReload, onSearch...e depois passar por parâmetro tipo isso?
JF

Bah Marcelo Gomes é exatamente isso que eu preciso, altera o cor do chamado aberto pelo usuário, diferenciar o chamado pendente do finalizado...porem estou com um pouco de duvida de como colocar em pratica esse código, tenho que criar uma função fora do construct, tipo onde fica as function onReload, onSearch...e depois passar por parâmetro tipo isso?
JF

Bah Marcelo Gomes é exatamente isso que eu preciso, altera o cor do chamado aberto pelo usuário, diferenciar o chamado pendente do finalizado...porem estou com um pouco de duvida de como colocar em pratica esse código, tenho que criar uma função fora do construct, tipo onde fica as function onReload, onSearch...e depois passar por parâmetro tipo isso?
JF

Bah Marcelo Gomes é exatamente isso que eu preciso, altera o cor do chamado aberto pelo usuário, diferenciar o chamado pendente do finalizado...porem estou com um pouco de duvida de como colocar em pratica esse código, tenho que criar uma função fora do construct, tipo onde fica as function onReload, onSearch...e depois passar por parâmetro tipo isso?
MG

Você deve implementar no construtor logo depois de adicionar as colunas no datagrid.
JF

Tentei faze o que vc falou mas ta dando erro na variável " $column_status "...vou posta o código pra vê se consegue me dar uma luz.
JF

  1. <?php
  2. class ChamadoList extends TPage
  3. {
  4.   private $datagrid;
  5.   private $column_status;
  6.  
  7.   function __construct()
  8.   {
  9.      parent::__construct();
  10.      
  11.       $Titulo_pg '<b><font color="#3C8DBC" size="4px">Chamados Pendentes</font> </b>';
  12.      
  13.      echo "$Titulo_pg <br/> <br/>" 
  14.      
  15.      ////////// Iniciando o form /////////////
  16.      
  17.      $this->form = new TQuickForm('Form_busca_estipulante');
  18.      $this->form->class 'tform';
  19.        
  20.      $basca_titulo = new TEntry('descricao');
  21.      $basca_titulo->setValueTSession::getValue('nome_chamado'));
  22.              
  23.      $this->form->addQuickField('Nome'$basca_titulo ,150);
  24.      $this->form->addQuickAction('Buscar', new TAction(array($this'onSearch')), 'ico_find.png');
  25.      
  26.      $this->datagrid = new TQuickGrid;
  27.      
  28.      $this->datagrid->style 'width: 750px'
  29.      
  30.      $this->datagrid->addQuickColumn('Id''id_chamado''left'30);
  31.      $this->datagrid->addQuickColumn('Nome''nome''left'120);
  32.      $this->datagrid->addQuickColumn('Problema''descricao''left'1500);
  33.      $this->datagrid->addQuickColumn('Solucao''solucao''left'1000);
  34.      $this->datagrid->addQuickColumn('Setor''setor','left',200);
  35.      $this->datagrid->addQuickColumn('Data chamado''data_chamado','left',100);
  36.      $this->datagrid->addQuickColumn('Hora''hora','left',100);
  37.      $this->datagrid->addQuickColumn('Estatus','estatus','left',100);     
  38.      //Notice: Undefined variable: column_status in C:\xampp\htdocs\FinansysWeb\ChamadoList.class.php on line 49
  39.      
  40.      $column_status->setTransformer(function($value$object$row)
  41.      {
  42.          $lbl = new TLabel('');
  43.          if ($value == 'Pendente') { // status ativo
  44.              //$lbl->setLabel('Ativo');
  45.              $lbl->class 'label label-success';
  46.          } else {
  47.              //$lbl->setLabel('Inativo');
  48.              $lbl->class 'label label-danger';
  49.          }
  50.          return $lbl;
  51.      });
  52.       
  53.      
  54.      $edit = new TDataGridAction( array('AlteraChamado''onEdit'));
  55.      $this->datagrid->addQuickAction('Editar'$edit'id_chamado''ico_edit.png');
  56.      
  57.      $this->form->addQuickAction('Limpar',  new TAction(array($this'onClear')), 'fa:eraser red');
  58.     
  59.      $this->datagrid->createModel();
  60.      
  61.      $this->pageNavigation = new TPageNavigation();
  62.      $this->pageNavigation->setAction(new TAction(array($this'onReload')));
  63.      $this->pageNavigation->setWidth($this->datagrid->getWidth());
  64.      
  65.      $vbox = new TVBox;
  66.      $vbox->add($this->form);
  67.      $vbox->add($this->datagrid);
  68.      $vbox->add($this->pageNavigation);
  69.      
  70.      parent::add($vbox);    
  71.      
  72.   }//__construct
  73.   
  74.   
  75.   public function onReload $param NULL )//onReload
  76.   {
  77.      try
  78.      {
  79.        TTransaction::open('filme');//aqui é o nome da arquivo .ini
  80.        
  81.        $repository = new TRepository('CHAMADO');//aqui é o nome da classe q manipula os dados
  82.        
  83.        $criteria   = new TCriteria;//ESSA LINHA FICA
  84.        
  85.        $nome_log =  TSession::getValue('login');
  86.         
  87.        $criteria->add(new TFilter("nome","=",$nome_log));// aqui vc define quais campos a serem filtrados 
  88.        $criteria->add(new TFilter("estatus","=",'Pendente'));                  
  89.        $repository->load($criteria);
  90.        
  91.        $criteria->setProperty('order''id_chamado');//ordena a grip em DESC 
  92.        $criteria->setProperty('direction','desc');                    
  93.        
  94.        $criteria->setProperties$param );
  95.        $criteria->setProperty('limit',8);//numero de registros 
  96.                 
  97.        $objects    $repository->load$criteria );
  98.        
  99.         if  (TSession::getValue('localiza_chamado'))
  100.         {
  101.            $criteria->add(TSession::getValue('localiza_chamado'));
  102.            $this->form->clear();//Reseta a Busca se nao acha registro
  103.         }
  104.         
  105.         $objects    $repository->load$criteria );       
  106.         $this->datagrid->clear();
  107.         
  108.         if ($objects)
  109.         {
  110.            foreach ($objects as $object)
  111.            {
  112.              $object->data_chamado TDate::date2br($object->data_chamado);//FORMATA A DATA             
  113.              $this->datagrid->addItem$object );// DEPOIS ADICIONA NA GRID
  114.              
  115.              $this->form->clear();//Reseta a Busca se acha registro
  116.              
  117.            }
  118.         }
  119.         
  120.          $criteria->resetProperties();
  121.          $count $repository->count$criteria );          
  122.           
  123.          $this->pageNavigation->setCount $count );
  124.          $this->pageNavigation->setProperties $param );
  125.          $this->pageNavigation->setlimit(8);//numero de registros         
  126.        
  127.        TTransaction::close();
  128.        $this->loaded TRUE
  129.      }
  130.        catch (Exception $e)
  131.        {
  132.           new TMessage('error'$e->getMessage());
  133.           TTransaction::rollback();
  134.        }  
  135.        $this->loaded TRUE;
  136.   }//fecha onReload
  137.   
  138.    
  139.   public function show ()
  140.   {
  141.     if (!$this->loaded )
  142.     {
  143.     $this->onReload();
  144.     }
  145.     parent::show(); 
  146.   }//fecha show
  147.   
  148.   public function onSearch ()
  149.     {
  150.       $data $this->form->getdata();
  151.       
  152.       if ($data->descricao)//nome d campo a ser buscado
  153.       {
  154.         $filter = new TFilter('descricao','like'"%$data->descricao%"); //$filter = new TFilter('nome','like', "%$data->nome%");
  155.         TSession::setvalue('localiza_chamado',$filter);
  156.         TSession::setvalue('nome_chamado',$data->descricao);
  157.       }
  158.       else
  159.       {
  160.         TSession::setValue('localiza_chamado'NULL);//nome d TSession acima 
  161.       }
  162.       
  163.       $this->form->setdata($data);
  164.       
  165.       $param = array();
  166.       $param['offset'] = 0;
  167.       $param['first_page'] = 1;
  168.       $this->onReload$param );
  169.       
  170.     }//fecha onSearch
  171.     
  172.    
  173.     public function onClear()
  174.     {      
  175.            
  176.        $data $this->form->getdata();
  177.           
  178.        if ($data->descricao)//nome d campo a ser buscado
  179.        {
  180.            $filter = new TFilter('descricao','like'"%$data->descricao%"); //$filter = new TFilter('nome','like', "%$data->nome%");
  181.            TSession::setvalue('localiza_chamado',$filter);
  182.            TSession::setvalue('nome_chamado',$data->descricao);
  183.        }
  184.        else
  185.        {
  186.             TSession::setValue('localiza_chamado'NULL);//nome d TSession acima 
  187.        }
  188.           
  189.        $this->form->setdata($data);
  190.           
  191.        $param = array();
  192.        $param['offset'] = 0;
  193.        $param['first_page'] = 1;
  194.        $this->onReload$param );
  195.       
  196.     }//onClear
  197.     
  198.   
  199. }//fecha class principal
  200. ?>





JF

Marcelo Gomes valeu pela dica, deu certo aqui..acabei usando esse exemplo do tutor que usa o setTransformer => www.adianti.com.br/framework_files/tutor/index.php?class=DatagridTra
Obrigado por ter respondido tão rápido. Grande Abraços
JF

www.adianti.com.br/framework_files/tutor/index.php?class=DatagridTra