Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Incluir varios campos em uma unica célula do TDataGrid Pessoal, Estou com o seguinte problema. Eu preciso incluir vários registros em uma única celula do DataGrid. Exemplo: Imagine que no sistema de library(Exemplo do Site), eu tenho um livro cadastrado mas este livro foi escrito por 3 autores. Eu gostaria de mostrar na grid quando pesquiso por livro, uma unica linha com as informações do livro, mas na coluna Autor gostaria que mostrasse os trê...
A
Incluir varios campos em uma unica célula do TDataGrid  
Fechado
Pessoal,
Estou com o seguinte problema. Eu preciso incluir vários registros em uma única celula do DataGrid. Exemplo: Imagine que no sistema de library(Exemplo do Site), eu tenho um livro cadastrado mas este livro foi escrito por 3 autores. Eu gostaria de mostrar na grid quando pesquiso por livro, uma unica linha com as informações do livro, mas na coluna Autor gostaria que mostrasse os três autores numa unica célula referente aquele livro.
Tentei varias coisas aqui mas não consegui.
Alguém poderia me ajudar com este problema?

Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 Quero me inscrever agora!

Comentários (3)


AN

Pode criar um método get em sua model para receber o id e retornar as informações que precisa e na coluna do datagrid ao invés de chamar uma propriedade da model você pode chamar este método get. Em teoria creio que seja isso.

A

Oi Ademilson, obrigado pela resposta.
Foi mais ou menos isso o que fiz na minha model, deu certo.

  1. <?php
  2. function get_autores_nome()
  3.     {
  4.        $this->autor = new Autor($this->autor_id);
  5.        $this->autores  = array();
  6.        $i 0;
  7.        if($this->autors 0)
  8.        { 
  9.            foreach ($this->autors as $autor)
  10.            {   
  11.                $this->autores[$i] = $autor->nome;
  12.                $i $i 1;
  13.            }
  14.            $lista_autores implode('<br>',$this->autores);
  15.            return $this->autor->nome .'<br>'$lista_autores
  16.        }
  17.        else
  18.        {
  19.            return $this->autor->nome;
  20.        }
  21.     }
  22. ?>


Obrigado =)
PD

Ótima solução,

Lembrando que na última versão, outra possibilidade (embora para esse problema eu prefira a descrita acima), é usar a setTransformer(), que agora recebe o próprio objeto Active Record inteiro como parâmetro:
www.adianti.com.br/framework_files/tutor/index.php?class=DatagridTra

abs,
Pablo