Criação dinâmica de Colunas em Datagrid Bom dia, galera! Criando uma Datagrid com algumas colunas fixas, e outras dinâmicas. Nestas dinâmicas, quero adicionar ações para cada uma (somatório), na mesma rotina de criação. Segue o que tem hoje (apenas a criação): ...
AM
Criação dinâmica de Colunas em Datagrid  
Bom dia, galera!

Criando uma Datagrid com algumas colunas fixas, e outras dinâmicas. Nestas dinâmicas, quero adicionar ações para cada uma (somatório), na mesma rotina de criação. Segue o que tem hoje (apenas a criação):

 
  1. <?php
  2. $this->item_mfc_list = new BootstrapDatagridWrapper(new TQuickGrid);
  3. for ($piCounter = 1; $piCounter <= 12; $piCounter++)
  4. {
  5. $this->item_mfc_list->addQuickColumn('Valor ' . $piCounter, 'valor_' . $piCounter, 'right');
  6. }
  7. ?>


Pergunta: dentro do for, daria pra fazer algo do tipo
 
  1. <?php
  2. $this->item_mfc_list->getColumns[$piCounter]->setTransformer(function($value, $object, $row) {
  3. if (!$value)
  4. {
  5. $value = 0;
  6. }
  7. return "R$ " . number_format($value, 2, ",", ".");
  8. });
  9. ?>


Ou, caso não, qual a maneira de setar a função de soma dinamicamente para cada coluna criada?

Valeu por qualquer ajuda!

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (2)


NR

A função addQuickColumn retorna a instância da coluna criada, aí basta chamar a setTransformer diretamente nessa variável:
 
  1. <?php
  2. for ($piCounter = 1; $piCounter <= 12; $piCounter++)
  3. {
  4. $col = $this->item_mfc_list->addQuickColumn('Valor ' . $piCounter, 'valor_' . $piCounter, 'right');
  5. $col->setTransformer...
  6. }
  7. ?>
AM

Perfeito, Nataniel! Faz sentido, muitas (ou todas?) classes retornam a instância já no método construtor.

Grato pela ajuda!