Jorgee
(Jorgex0 O)
May 16, 2013, 9:01pm
1
Hi, I have a CGridView and I’d like to put a button to refresh.
I’ve tried adding AjaxButton but I couldn’t make it.
The grid ID is session-grid.
I have a partial view with only the CGridView.
I managed to get it working but it’s duplicated, I am missing anything?
Thanks a lot!
$.fn.yiiGridView.update("session-grid")
Jorgee:
Hi, I have a CGridView and I’d like to put a button to refresh.
I’ve tried adding AjaxButton but I couldn’t make it.
The grid ID is session-grid.
I have a partial view with only the CGridView.
I managed to get it working but it’s duplicated, I am missing anything?
Thanks a lot!
try this
Yii::app()->clientScript->registerScript(‘session’, "
$(’#buttonID ’).click(function(){
$.fn.yiiGridView.update('session-grid', {
data: $(this).serialize()
});
return false;
});
");
Jorgee
(Jorgex0 O)
May 17, 2013, 12:26pm
4
Thanks, but can’t I just use CHTML::AjaxButton with parameters?
Edit: Seems that finally I managed to get it working.
<?php
$this->widget('bootstrap.widgets.TbButton', array(
'label'=>'Actualizar',
'buttonType'=>'ajaxButton',
'type'=>'primary',
'url'=>array('productSession/admin','ajax'=>'session-grid'),
'ajaxOptions'=>array(
'replace'=>'#session-grid',
),
'htmlOptions'=>array(
'id'=>'updateGrid',
)
));
?>
Does the magic, but without the ‘loading’ image.
Strange is that if I put ‘update’ instead of ‘replace’, when I click the Delete button in the grid, I get a JavaScript error regarding to url not defined.
Jorgee
(Jorgex0 O)
May 17, 2013, 3:00pm
5
Well I finally opted for another solution:
<?php
Yii::app()->clientScript->registerScript('initRefresh',<<<JS
$('#update-grid-button').on('click',function(e) {
e.preventDefault();
$('#session-grid').yiiGridView('update');
});
JS
,CClientScript::POS_READY);
$this->widget('bootstrap.widgets.TbButton', array(
'label'=>'Actualizar',
'type'=>'primary',
'icon'=>'repeat white',
'htmlOptions'=>array(
'id'=>'update-grid-button',
'class'=>'pull-right',
)
));
?>