Ayuda en indicar FILTRO en GRID

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…

el filter que usaste es para saber el modelo que usara como filtro, el filtro que necesitas usar es el de cada columna




array(

                    'name' => 'username',

                    'filter' => CHtml::textField('username', ""),//lo que escribas aca ira a parar al atributo username de tu modelo filtro

                    'type' => 'raw',

                    'value' => 'CHtml::encode($data["username"])'

                ),



ensaya y verifica que no tengo a la mano los ejemplos que he hecho para corroborarte como se aplica.