Hola que tal espero que se encuentresn bien, molestandolos con este nuevo topic donde ojala me puedan ayudar.
Ando buscando como realizar un filtro dentro de un CGridView donde me regrece el resultado de la busqueda como la funcionalidad de un grid normal vía ajax, para ello me estoy basando en un código que encontre en la web donde explica como armar un grid con CArrayDataProvider y muestra como como hacerlo, de la siguiente manera
public function actionPrueba() {
$rawData=array(
array('id'=>1, 'username'=>'from', 'email'=>'array'),
array('id'=>2, 'username'=>'test 2', 'email'=>'hello@example.com'),
);
// or using: $rawData=User::model()->findAll();
$arrayDataProvider=new CArrayDataProvider($rawData, array(
'id'=>'id',
/* 'sort'=>array(
'attributes'=>array(
'username', 'email',
),
), */
'pagination'=>array(
'pageSize'=>10,
),
));
$params =array(
'arrayDataProvider'=>$arrayDataProvider,
'arrayFilter'=>$rawData,
);
if(!isset($_GET['ajax'])) $this->render('prueba', $params);
else $this->renderPartial('prueba', $params);
}
//-------------------------------- AHORA CODIGO DEL GRID --------------------------------
$this->widget('zii.widgets.grid.CGridView', array(
'dataProvider' => $arrayDataProvider,
// 'filter'=>'AQUI ES MI DUDA DE COMO HACERLO',
'columns' => array(
array(
'name' => 'username',
'type' => 'raw',
'value' => 'CHtml::encode($data["username"])'
),
array(
'name' => 'email',
'type' => 'raw',
'value' => 'CHtml::link(CHtml::encode($data["email"]), "mailto:".CHtml::encode($data["email"]))',
),
),
));
donde pongo el código comentado de filter, le intente pasando la variable del arreglo y me marca error que espera un parametro a recibir como tipo objeto no como arreglo, ojala me puedan ayudar. Saludos…