Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Como criar uma ordenação no Datagrid de um campo Relacionado? Eu fiz um List.class.php com Datagrid, usei o assistente do Adianti Profissional para criar toda página já pronta. No datagrid eu consigo colocar ordenação ao clicar no título das colunas de todos os campos, menos nos campos que estão relacionados com outra tabela. Por exemplo: Se eu criar um campo chamado produto sem relacionamento com outra tabela, a ordenação (order) funciona, mas s...
AM
Como criar uma ordenação no Datagrid de um campo Relacionado?  
Fechado
Eu fiz um List.class.php com Datagrid, usei o assistente do Adianti Profissional para criar toda página já pronta.
No datagrid eu consigo colocar ordenação ao clicar no título das colunas de todos os campos, menos nos campos que estão relacionados com outra tabela. Por exemplo:

Se eu criar um campo chamado produto sem relacionamento com outra tabela, a ordenação (order) funciona, mas se eu criar um campo tipo: idproduto relacionado com idproduto de outra tabela, a ordenação não funciona, alguém aqui no fórum já viu isto? Alguém sabe como resolver isto? Ai vai o código de ordenação do datagrid.

// Funciona
$order_id= new TAction(array($this, 'onReload'));
$order_id->setParameter('order', 'id');
1682->setAction($order_id);

// Não Funciona
$order_idproduto= new TAction(array($this, 'onReload'));
$order_idproduto->setParameter('order', 'idproduto');
1682produto->setAction($order_idproduto);

=============================
No Model está assim:

  1. <?php
  2. class Produto extends TRecord
  3. {
  4.    const TABLENAME 'produto';
  5.    const PRIMARYKEY 'id';
  6.    const IDPOLICY 'max';
  7.    const CACHECONTROL 'TAPCache';
  8.    
  9.    public function __construct(1682 NULL)
  10.    {
  11.       parent::__construct(1682);
  12.         parent::addAttribute('idproduto');
  13.         parent::addAttribute('unidade');
  14.         parent::addAttribute('data1');
  15.         parent::addAttribute('mesvenda');
  16.         parent::addAttribute('entrada');
  17.         parent::addAttribute('saida');
  18.         parent::addAttribute('quant');
  19.         parent::addAttribute('vcompra');
  20.         parent::addAttribute('vvenda');
  21.         parent::addAttribute('vlucro');
  22.         parent::addAttribute('plucro');
  23.         parent::addAttribute('tcompra');
  24.         parent::addAttribute('tvenda');
  25.         parent::addAttribute('tlucro');
  26.         parent::addAttribute('obs');
  27.    }
  28.     public function get_prod_idproduto()
  29.     {
  30.         if (empty($this->prod))
  31.         {
  32.             $this->prod = new Prod($this->idproduto);
  33.         }
  34.         return $this->prod->idproduto;
  35.     }
  36. }
  37. ?>



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 (3)


FC

Sub query

De uma olhada na ordenação desse exemplo.

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

Alex, você pode disponibilizar a rotina que gera o numero por extenso, acho que você fez ela no formulário de recibo, percebi em uma postagem sua mais antiga. Obrigado. jrmaceio09@gmail.com
AM

Júnior, eu não criei nenhuma rotina que gera numero por extenso. Os dois campos por extenso, são campos de entrada de texto. Do geito que eu fiz, é a pessoa que digita nos campos por extenso. Veja como eu fiz acessando o site: www.sistemapersonalizado.com

Depois clique no link: Aplicativos Grátis, e depois clique em Recibo de Salário.