E ae galera,
queria a ajuda de vc para atualizar a CGridView com o resultado de uma pesquisa.
CGridView
<?php
$this->widget('zii.widgets.grid.CGridView', array(
'id' => 'cargo-grid',
'dataProvider'=> $dataProvider,
'filter'=>$model,
'enablePagination' => 'true',
'summaryText' => 'Página {page} de {pages}',
'enableSorting' => 'true',
'ajaxUpdate' => 'true' ,
'columns' => array(
'cargoDescricao',
array(
'name'=>'tipoCargo',
'value'=> '$data->tipoCargo',
),
array(
'class' => 'CButtonColumn',
'template' => '{update} {delete}',
'deleteConfirmation' => 'Deseja remover o Cargo?',
'deleteButtonUrl' => 'Yii::app()->createUrl("cargo/delete", array("id" => $data->id))',
),
),
));
?>
Botões na view
<div class="button_div">
<?php
echo CHtml::ajaxSubmitButton(
'Salvar',
CController::createUrl('cargo/index'),
array(
'dataType' => 'html',
'success' => "function(data, textStatus, XMLHttpRequest){try{\$('#cargo-grid').yiiGridView.update('cargo-grid')}catch(e){}}"
),
array('class' => 'bt')
);
?>
<?php
echo CHtml::ajaxButton(
'Pesquisar',
CController::createUrl('cargo/pesquisar'),
array(
'dataType' => 'html',
'success' => "function(data, textStatus, XMLHttpRequest){try{\$('#cargo-grid').yiiGridView.update('cargo-grid')}catch(e){}}"
),
array('class' => 'bt')
);
?>
</div>
Controller
/**
*
*/
public function actionIndex() {
if (isset($_POST['Cargo'])) {
$this->model->attributes = $_POST['Cargo'];
if ($this->model->save()) {
$this->layout = false;
$this->model->unsetAttributes(); // clear any default values
$this->render('_grid', array(
'dataProvider' => $this->dataProvider,
'model' => $this->model,
));
Yii::app()->end();
}
}
$this->render('index', array(
'dataProvider' => $this->dataProvider,
'model' => $this->model,
));
}
/**
*
*/
public function actionPesquisar() {
if (isset($_POST['Cargo'])) {
$this->model->unsetAttributes();
$this->model->attributes = $_POST['Cargo'];
$this->dataProvider = $this->model->pesquisar();
}
$this->render('_grid', array(
'dataProvider' => $this->dataProvider,
'model' => $this->model,
));
}
O salvar esta funcionado mas o pesquisar nao sei com atualizar a CGridView com o resultado da pesquisa.
Gostaria de saber se existe um jeito melhor pq o salvar realizar duas operações em ajax.(uma para salvar e outra para atualizar a CGridView)
Obrigado!