Hello, I have broblem in my Cgridview, I would like make filter working, I create this code Manually the sort columns working fine, but input filter not working!!
Controller
   public function actionBeneficiaireSuivi() {
	$model =new LigneCommande('searchConsultantInfos');
	
	$model->unsetAttributes(); 
	
	$id_consultant = ''; 
	if(isset($_GET['id'])){
		$id_consultant = $_GET['id']; 
		$model->attributes = $id_consultant;
	}
	
	$params =array(
	 'model'=>$model,
	);
	
	$this->render('beneficiaireSuivi', $params);
	
}
In View Page (beneficiaireSuivi)
<?php
Yii::app()->clientScript->registerScript(‘searchConsultantInfos’, "
$('.search-button').click(function(){
	$('.search-form').toggle();
	return false;
});
$('.search-form form').submit(function(){
	//console.log( $(this).serialize() );
	$.fn.yiiGridView.update('consultant-grid', {
		data: $(this).serialize()
	});
	return false;
});
");
?>
<?php echo CHtml::link(Yii::t(‘app’, ‘Advanced Search’),’#’,array(‘class’=>‘search-button’)); ?>
<div class="search-form" style="display:none">
<?php
$this->renderPartial('_searchBenefSuivi', array(
    'model' => $model,
));
?>
</div>
<?php
$this->widget(‘zii.widgets.jui.CJuiTabs’, array(
	'tabs'=>array(
	"Liste des béneficiaires"=>array(
		"id"=>"admin",
		"content"=>$this->renderPartial('_renderPrestation', array(
				'model'=>$model,
			),
			$this
		)
	),
),
	'options'=>array(
    'collapsible'=>false,
	),
'id'=>'tabs',
'headerTemplate'=>'<li><a href="{url}" title="{title}">{title}</a></li>',
'htmlOptions'=>array('style'=>'display:none'),
));
?>
In In View Page (_renderPrestation.php)
?php
$pageSize = Yii::app()->user->getState(‘pageSize’,Yii::app()->params[‘defaultPageSize’]);
$this->widget(‘zii.widgets.grid.CGridView’, array(
'id'=>'consultant-grid',
'dataProvider' => $model->searchConsultantInfos(),
'ajaxUpdate' => 'child-grid',
'filter' => $model,
'columns' => array(
	
	array(
		'name' => 'LigneCommandeID',
		'value' => 'CHtml::encode($data->LigneCommandeID)',
		'htmlOptions'=>array('style'=>'text-align:center;'),
		'headerHtmlOptions' => array('style' => 'width:80px'),
	),
	
	array(
		'name'=>'NomBenef_search',
		'htmlOptions'=>array('style'=>'text-align:left;'),
		'headerHtmlOptions' => array('style' => 'width:100px'),
		'value' => '$data->refBeneficiaire->NomBenef',
	),
	array(
		'name'=>'PrenomBenef_search',
		'htmlOptions'=>array('style'=>'text-align:left;'),
		'headerHtmlOptions' => array('style' => 'width:100px'),
		'value' => '$data->refBeneficiaire->PrenomBenef',
	),
	array(
		'name' => 'DateEntree',
		'header' => 'Date Entrée',
		'htmlOptions'=>array('style'=>'text-align:center;'),
		'headerHtmlOptions' => array('style' => 'width:80px'),
		'value' => 'CHtml::encode($data->DateEntree)'
	),
	array(
		'name' => 'DateSortie',
		'header' => 'Date Sortie',
		'htmlOptions'=>array('style'=>'text-align:center;'),
		'headerHtmlOptions' => array('style' => 'width:80px'),
		'value' => 'CHtml::encode($data->DateSortie)'
	),
	array(
		'name'=>'FullNumCom_search',
		'htmlOptions'=>array('style'=>'text-align:center;'),
		'headerHtmlOptions' => array('style' => 'width:70px'),
		'value' => 'CHtml::encode($data->refCommande->FullNumCom)',
	),
	array(
		'name' => 'RefPrestationID',
		'htmlOptions'=>array('style'=>'text-align:center;'),
		'headerHtmlOptions' => array('style' => 'width:80px'),
		'value' => 'CHtml::encode($data->refPrestation->CodePresta)'
	),
	
)
));
?>
AND in Model Page
public function searchConsultantInfos()
{
	
	$criteria = new CDbCriteria;
	
	if(isset($_GET['id']) && isset($_GET['id_presta']) ){
		$criteria->condition = 'RefConsultantID = :ConsultantId AND RefPrestationID = :PrestationID';
		$criteria->params = array (
			':ConsultantId' => $_GET['id'],
			':PrestationID' => $_GET['id_presta']
		);
		$criteria->compare('RefConsultantID', $_GET['id'], true);
		$criteria->compare('RefPrestationID', $_GET['id_presta'], true);
	}
	
	if( isset($_GET['id_presta']) && ( $_GET['id_presta'] == '0' || $_GET['id_presta'] =='' ) ){
		$criteria->condition = 'RefConsultantID = :ConsultantId';
		$criteria->params = array (
			':ConsultantId' => $_GET['id']
		);
		$criteria->compare('RefConsultantID', $_GET['id'], true);
	}
	$criteria->with=array('refBeneficiaire', 'refCommande');
	$criteria->together = true;
	
	$criteria->compare('LigneCommandeID', $this->LigneCommandeID, true);
	
	$criteria->compare('refBeneficiaire.NomBenef', $this->NomBenef_search);
	
	$criteria->compare('refBeneficiaire.PrenomBenef', $this->PrenomBenef_search);
	$criteria->compare('DateEntree',$this->convertDatetoEn($this->DateEntree) );
	
	$criteria->compare('DateSortie',$this->convertDatetoEn($this->DateSortie) );
	$criteria->compare( 'refCommande.FullNumCom', $this->FullNumCom_search );
	$criteria->compare('DateSortie', ' > '.date("Y-m-d") );
	
	$criteria->group = 'DateEntree, DateSortie';
	
	$sort = new CSort();
	$sort->attributes = array(
	  'LigneCommandeID'=>array(
	    'asc'=>'LigneCommandeID',
	    'desc'=>'LigneCommandeID desc',
	  ),
	  'NomBenef_search'=>array(
	    'asc'=>'refBeneficiaire.NomBenef',
	    'desc'=>'refBeneficiaire.NomBenef desc',
	  ),
	  'PrenomBenef_search'=>array(
	    'asc'=>'refBeneficiaire.PrenomBenef',
	    'desc'=>'refBeneficiaire.PrenomBenef desc',
	  ),
	  'FullNumCom_search'=>array(
	    'asc'=>'refCommande.FullNumCom',
	    'desc'=>'refCommande.FullNumCom desc',
	  ),
	  'DateEntree'=>array(
	    'asc'=>'DateEntree',
	    'desc'=>'DateEntree desc',
	    'default'=>'desc',
	  ),
	  'DateSortie'=>array(
	    'asc'=>'DateSortie',
	    'desc'=>'DateSortie desc',
	    'default'=>'desc',
	  ),
	);
	
	
	
	return new CActiveDataProvider(get_class($this), array(
		'pagination'=>array(
			'pageSize'=>10
		),
		'criteria'=>$criteria,
		'sort'=>$sort,
	));
}