Inscrições abertas para nosso Webinar anual Adianti Framework 2024!
Clique aqui para saber mais
Usar nome do item ao invés de ID no mestre detalhe TQuickGrid Olá pessoal, Tenho esse trecho de código: Gostaria de usar assim: ...
EB
Usar nome do item ao invés de ID no mestre detalhe TQuickGrid  
Olá pessoal,
Tenho esse trecho de código:

  1. <?php
  2.        $this->detail_list = new BootstrapDatagridWrapper(new TQuickGrid); 
  3.         $this->detail_list->style "min-width: 700px; width:100%;margin-bottom: 10px";
  4.         $this->detail_list->setId('Frequencia_list');
  5.         $this->detail_list->addQuickColumn('Turma''turma_id''left'100);
  6. ?>


Gostaria de usar assim:
  1. <?php
  2.   $this->detail_list->addQuickColumn('Turma''turma->nome''left'100);
  3. ?>


Mas o TQuickGrid não aceita.

Alguém pode me dar esse apoio por favor?
Agradeço.

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


NR

Edimar, no master/detail isso funciona um pouco diferente.

Quando usamos uma grid em uma listagem normal, você está trabalhando com objetos do tipo do seu modelo, com isso a associação pode ser usada corretamente.

No caso de grids usadas nos forms master/detail, os dados utilizados pela grid são inicialmente arrays, convertidos na onReload para objetos genéricos do php. Dessa forma não é possível acessar a associação diretamente na criação da coluna.

Aconselho a criar uma coluna "turma_nome" por exemplo e preparar as demais funções para preenchimento desse campo:
  1. <?php
  2. $this->detail_list->addQuickColumn('Turma''turma_nome''left'100);
  3. // onEdit
  4. foreach( $items as $item )
  5. {
  6.     ...
  7.     $session_items[$item_key]['turma_nome'] = $item->turma->nome;
  8. // onSaveDetail
  9. $turma = new Turma($data->turma_id); // supondo que Turma seja o model utilizado
  10. $items$key ]['value'] = $turma->nome;
  11.             
  12. TSession::setValue(__CLASS__.'_items'$items);
  13. ?>

O exemplo que passei considera uma classe master/detail criada pelo Studio. Pode ser que seu código tenha algumas diferenças, mas a ideia é por aí, gravar a informação da turma no item que fica salvo na sessão.
EB

Entendi @Nataniel.
Vou tentar aqui.

Muito obrigado!