renderPartial ajax pagination not working

Hello, i’m stuck from 2 days and i’m not able to solve the issue for Ajax Pagination for cGridView which is loaded in renderPartial.

I had a requirement to change the default layout of cGridView to something like blog post structure containing images and related descriptions.

When i googled i came to know that i have to extend the cGridView class and need to make layout there and then keep in to the components.

Now everything is working, except Ajax pagination. I don’t want to reload a page. Also 1 more thing i have 2 cGridView in same View, so i used ‘updateSelector’ to differentiate between them.

Please help me in Ajax pagination to be get work.


Please pass the processOutput when page render or renderpartial



false,true is a processOutput

Hi, thanks for reply. I tried -

$model = new Whisky;


but didn’t worked.

My view page contains the data from different models, and having 2 cGridView from different models. So i mentioned $model in view itself just before the cGridView -

$model = new Whisky();


$dataProvider = $model->dashboard_whisky_list($records);

$this->widget('CGridViewPlus', array(

		'id' => 'whisky-grid',

		'dataProvider' => $dataProvider,


		'updateSelector'=>'whisky-selector', //update selector

		'columns' => array(



		'class' => 'CButtonColumn',

		'template' => '{update} {delete}',


  				'update' => array


				  'url'=>'Yii::app()->createUrl("whisky/update", array("id"=>$data->distilldId))',



		'afterDelete' => 'function(link,success,data){ if(success) alert("Whisky deleted successfuly"); }',



		'beforeAjaxUpdate' => 'js:function(id) {showLoader();}',

		'afterAjaxUpdate' => 'js:function(id, data) {hideLoader();}',


In above code, ‘CGridViewPlus’ is extended class for ‘CGridView’.

And in the model -

static function dashboard_whisky_list($search)


		$criteria = new CDbCriteria;

		$criteria->alias = 'w';

		$criteria->select = array('w.whiskyId as whiskyId', 'w.distilldWhiskyId as distilldId', 'w.whiskyName as name', 'wc.categoryName as category', 'w.whiskyDescription', 'w.abv', 'w.age', 'w.avgRating', 'd.distilleryName as distillery', 'CASE WHEN ISNULL(r.regionName) THEN c.countryName ELSE CONCAT(r.regionName,", ",c.countryName) END as location, w.labelUrl as label, t.type as type,, w.verified, (select COUNT(*) from reviews_stats as uw where uw.whiskyId = w.distilldWhiskyId) as checkin_count, (select ROUND(AVG(r.rating),1) from reviews as r JOIN reviews_stats as uw ON (r.userWhiskyId = uw.userWhiskyId) where r.rating <> 0 and uw.whiskyId = w.distilldWhiskyId) as avg_rating');

		$criteria->join =' LEFT JOIN whisky_category as wc ON w.categoryId=wc.categoryId';

		$criteria->join .=' LEFT JOIN whisky_distilleries as d ON w.distilleryId=d.distilldDistilleryId';

		$criteria->join .=' LEFT JOIN regions as r ON w.regionId=r.regionId';

		$criteria->join .=' LEFT JOIN countries as c ON w.countryId=c.countryId';

		$criteria->join .=' LEFT JOIN whisky_type as t ON w.typeId=t.typeId';


		$sort = new CSort();

		$sort->attributes = array(


						'asc'=>'name ASC',

						'desc'=>'name DESC',



						'asc'=>'checkin_count ASC',

						'desc'=>'checkin_count DESC',



						'asc'=>'avg_rating ASC',

						'desc'=>'avg_rating DESC',


				'*', // this adds all of the other columns as sortable



		$criteria->addcondition(" = 'Y'");

		$criteria->addcondition("w.distilleryId = ".Yii::app()->user->referenceid);


		return new CActiveDataProvider('Whisky', array(


						'pageSize'=> Yii::app()->user->getState('pageSize',Yii::app()->params['defaultPageSize']),

						'currentPage' => Yii::app()->user->getState('Whiskypage', 0),


				'criteria' => $criteria,



						'pageVar'=>'whisky-selector', //page selector





I have attached the image for my layout.

Will that help you to find root cause ?