Consegue sim, vou te explicar como funciona o botão.
echo CHtml::htmlButton('Remover Selecionado(s)', array(
'type' => 'button',
'ajax' => array(
'type' => 'POST',
'url' => Yii::app()->createUrl(Yii::app()->controller->id.'/delete'),
'dataType' => 'json',
'beforeSend' => 'function(){
var id = $("input[name=\'table-grid_c0\[\]\']:checked").serialize();
if(id == \'\'){
alert(\'Selecione pelo menos 1(um) item\');
$("input[name=\'table-grid_c0\[\]\'], input[name=\'table-grid_c0_all\']").show(\'pulsate\', 1000);
return false;
}
if(!confirm(\''.Yii::t('zii', 'Are you sure you want to delete this item?').'\')) return false;
}',
'success' => "function(data){\$.fn.yiiGridView.update('table-grid');}",
'data' => array(
'table-grid_c0' => 'js:decodeURIComponent($("input[name=\'table-grid_c0\[\]\']:checked").serialize()).replace(/table-grid_c0\[\]=/g, "").replace(/&/g, ",")')
)
));
Os checkbox, seu name="" e id="" são criados com o ID da grid (table-grid)
...
$this->widget('zii.widgets.grid.CGridView', array(
'id' => 'table-grid',
...
Você precisa criar um action para receber os checkbox selecionados. Ex.:
public actionSolicitados(){
print_r($_POST['funcionarios']);
}
Na URL do botão, você defini para onde irá enviar os dados selecionados:
...
'url' => Yii::app()->createUrl('funcionario/solicitados'),
...
Os demais atributos abaixo, são funções padrões/nativos do jquery.
'beforeSend' => 'function(){
var id = $("input[name=\'table-grid_c0\[\]\']:checked").serialize();
if(id == \'\'){
alert(\'Selecione pelo menos 1(um) item\');
$("input[name=\'table-grid_c0\[\]\'], input[name=\'table-grid_c0_all\']").show(\'pulsate\', 1000);
return false;
}
if(!confirm(\'Tem certeza que deseja solicitar esses funcionários?\')) return false;
}',
'success' => "function(data){\$.fn.yiiGridView.update('table-grid');}",
'data' => array(
'funcionario' => 'js:decodeURIComponent($("input[name=\'table-grid_c0\[\]\']:checked").serialize()).replace(/table-grid_c0\[\]=/g, "").replace(/&/g, ",")')
)
Para debugar, usa o Firebug ou similar.
No atributo ‘success’ coloca um alert(data) para verificar os resultados que está indo para o actionSolicitados().
'success' => "function(data){alert(data);\\$.fn.yiiGridView.update('table-grid');}",
Se fico confuso, posta sua view/funcionario/index.php