AF
TPagenavigation com duas TQuickgrids na página.
Bom dia a todos.
Estou desenvolvendo uma página onde tenho que ter dois TQuickgrids independentes na mesma. Está funcionando corretamente. Minha dúvida é se consigo colocar os TPageNavigation para cada um deles independente, ou seja, ao mudar a paginação do grid1, o do grid2 não mudar junto.
Agradeço a gentileza.
Ailton Furtado.
Estou desenvolvendo uma página onde tenho que ter dois TQuickgrids independentes na mesma. Está funcionando corretamente. Minha dúvida é se consigo colocar os TPageNavigation para cada um deles independente, ou seja, ao mudar a paginação do grid1, o do grid2 não mudar junto.
Agradeço a gentileza.
Ailton Furtado.
Veja o exemplo abaixo do Tutor, acredito que você possa adaptar conforme desejado.
adianti.com.br/framework_files/tutor/index.php?class=InboxView
Basicamente através do atributo "adianti_target_container" você consegue definir que determinada classe carregue dentro de uma div específica, evitando o recarregamento do restante da tela.
Bom dia Nataniel.
Obrigado pelo retorno.
Vou dar uma olhada e dou retorno do avanço.
Como lhe disse, as duas grids estão funcionando perfeitamente independentes, o lance é usar um TPageNavigation para cada um independente, sem que ao acessar a página dois de uma, a outra vá também.
Atenciosamente,
Ailton Furtado
Olá. Quando eu não tenho que carregar muitos dados na Datagrid , eu uso o DataTable. faça um teste:
Para maiores informações sobre o DataTable , segue o link : https://datatables.net
Boa tarde Ivan Fernandes.
Em primeiro lugar obrigado pela dica. Ela atende o que eu preciso, mas ele acusa a mensagem alerta que até o momento não descobri como resolver em nenhum dos posts associados ao adianti.
Segue a criação da grid:
// creates a DataGrid PPE
$this->datagrid_ppe = new BootstrapDatagridWrapper(new TQuickGrid);
$this->datagrid_ppe->width = '100%';
$this->datagrid_ppe->setHeight(320);
$this->datagrid_ppe->makeScrollable();
$this->datagrid_ppe->setId('datagrid_ppe');
$this->datagrid_ppe->datatable = 'true';
TScript::create("
$('#datagrid_ppe').DataTable();");
// creates the datagrid columns
$coluna_ppe_id = $this->datagrid_ppe->addQuickColumn('ID Pessoa PPE', 'ppe_id', 'left', '50%', new TAction(array($this, 'onReload')), array('order', 'ppe_id'));
$coluna_ppe_id->setTransformer([$this, 'formatRowPPE'] );
$coluna_ppe_nome = $this->datagrid_ppe->addQuickColumn('Nome', 'ppe_nome', 'left', '50%', new TAction(array($this, 'onReload')), array('order', 'ppe_nome'));
$coluna_ppe_nome->setTransformer([$this, 'formatRowPPE'] );
// add the actions to the datagrid
$this->datagrid_ppe->addQuickAction(_t('Edit'), new TDataGridAction(array($this, 'onEdit_ppe')), 'ppe_id', 'fa:pencil-square-o blue fa-lg');
// create the datagrid model
$this->datagrid_ppe->createModel();
E o alerta:
DataTables warning: table id=datagrid_ppe - Requested unknown parameter '3' for row 0. For more information about this error, please see datatables.net/tn/4
Agradeço mais uma vez sua gentileza.
Boa tarde Ailton. O único problema em usar o DataTables é que ele dá pau com alguns métodos do Adianti. Esse erro foi causado pelo :
O DataTables não aceita!
Mas vc pode usar o Scroll do próprio DataTables.
Bom dia Ivan.
Deu certo sua dica.
Agora estou estudando uma forma de no onreload, o cursor da datagrid parar na linha que foi selecionada.
Obrigado pela sua gentileza.
Boa tarde Ivan.
Com sua ajuda consegui atingir o objetivo,
Achei o que falta para o datagrid se manter na paginação selecionada antes do reload.
Bastou colocar o parâmetro:
stateSave: true
$('#example').DataTable( {
"scrollY": "200px", //Altura o qto vc quiser
"scrollCollapse": true ,
stateSave: true
Muito obrigado Ivan.