Cgridview Ajax Filtering/searching Does Not Works

i have a users table on my db and it’s CActiveRecord completely generated by gii

here is my search method inside my model:


	public function search()

	{

		// @todo Please modify the following code to remove attributes that should not be searched.


		$criteria=new CDbCriteria;


		$criteria->compare('id',$this->id);

		$criteria->compare('username',$this->username,true);

		$criteria->compare('password',$this->password,true);

		$criteria->compare('email',$this->email,true);

		$criteria->compare('fullname',$this->fullname,true);

		$criteria->compare('theme',$this->theme,true);

		$criteria->compare('lang',$this->lang,true);

		$criteria->compare('date',$this->date,true);

		$criteria->compare('ip',$this->ip,true);

		$criteria->compare('last_login_date',$this->last_login_date,true);

		$criteria->compare('last_login_ip',$this->last_login_ip,true);

		$criteria->compare('has_avatar',$this->has_avatar);


		return new CActiveDataProvider($this, array(

			'criteria'=>$criteria,

		));

	}

in my view:


$model = new Users('search');

$data = Users::model()->search();

$data->pagination = array(

    'pageSize' => 2,

);


$this->widget('zii.widgets.grid.CGridView', array(

    'id' => 'my-model-grid',

    'dataProvider' => $data,

    'filter' => $model,

    'enablePagination' => true,

    'enableSorting' =>true,

));

pagination works fine …

but filtering doesn’t filter anything and showing all table rows for me

$data should be coming from your Users model. The action generally looks something like this:




public function actionIndex()

{

    $usersFilter = new Users('search');

    $usersFilter->unsetAttributes(); // Sometimes defaults cause problems

    

    if (isset($_GET['Users']))

        $usersFilter->attributes = $_GET['Users']; // Apply submitted filters


    $dataProvider = $usersFilter->search();


    $this->render('index', array(

        'usersFilter'=>$usersFilter,

        'dataProvider'=>$dataProvider,

    ));

}



In the view, feed $usersFilter and $dataProvider into the widget’s filter and dataProvider attributes.