menu
Fórum Adianti
menu Menu
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.

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 (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!