Lançado Adianti Framework 7.6!
Clique aqui para saber mais
DataGrid em InputDialog é possível? Boa tarde! Preciso abrir um Dialog com um DataGrid, é possível? Estou usando como exemplo este do tutor: http://www.adianti.com.br/framework_files/tutor/index.php?class=WordSearchResults&method=onLoad&input=DialogInputView Pelos exemplos do tutor as Datagrids estão em uma classe que herdam outra classe, estava pensando em criar uma subclasse para resolver isso. Estou no caminho certo...
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)


NR

Se for uma datagrid simples com poucos registros não vejo problemas. Mas se tiver navegação, por exemplo, começa a complicar um pouco, pois você precisará tratar parâmetros como offset, page, etc
CG

Irá possuir alguns registros, mas não preciso de paginação.. precisaria mesmo interagir com os dados.
Mas como eu posso fazer isso?
O inputDialog com formulários sem problemas.. mas uma datagrid me parece que tenho que criar uma classe pra ela dentro de onde estou chamando!
Você pode me dizer como fazer?
Eu vou clicar em um botão e no dialog irá aparecer os registros!

Agradeço!
NR

Não é necessário criar outra classe pra isso. Você pode fazer dentro da mesma função. Ex:
  1. <?php
  2. $grid = new TQuickGrid();
  3. $grid->addQuickColumn('Coluna 1',    'coluna1');
  4. $grid->addQuickColumn('Coluna 2',    'coluna2');
  5. $grid->addQuickAction('Ação',   new TDataGridAction(array($this'onAcao')),   'name''fa:search blue');
  6. $grid->createModel();
  7. // $itens = array de objetos, que podem ser criados manualmente ou através do banco de dados
  8. foreach ($itens as $item)
  9. {
  10.     $grid->addItem($item);
  11. }
  12. ?>

Mas um detalhe é que a TInputDialog espera receber um form como segundo parâmetro, então você precisa adicionar a grid a um form antes de enviá-la ao componente:
  1. <?php
  2. $form = new TQuickForm('aaa');
  3. $form->add($grid);
  4. new TInputDialog('title',$form);
  5. ?>