How to implement CGridView + ajax pagination?

How to implement CGridView + ajax pagination?

Should be implemented by default if you pass it an IDataProvider. Post your controller and view code please.

Cheers,

Matt

controller





public function actionAdmin()

	{

		$model=new PatientsFlags('search');

		$model->unsetAttributes();  // clear any default values

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

			$model->attributes=$_GET['PatientsFlags'];


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

			'model'=>$model,

		));

	}




view





<?php

$model = new patientsFlags;

if(isset($_SESSION['criteria'])){

$dataProvider=new CActiveDataProvider('patientsFlags', array(

    'criteria'=>$model->search(), //hack to get ajax pagination to work

    'pagination'=>array(

        'pageSize'=>10,

    ),

));


?>




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

	'id'=>'patients-flags-grid',

	'dataProvider'=>$dataProvider,

	'filter'=>$model,

	'pager'=>array('cssFile'=>Yii::app()->baseUrl.'/css/_styles.css'),

	'cssFile' => Yii::app()->baseUrl . '/css/_styles.css',

	

	'columns'=>array(

		'flag_id',

		'flag_name',

		array(

			'class'=>'CButtonColumn',

		),

	),

)); 

}

?>




Hi,

Looks alright. Just change GridView to:




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

        'id'=>'patients-flags-grid',

        'dataProvider'=>$model->search(),

        'filter'=>$model,

        'pager'=>array('cssFile'=>Yii::app()->baseUrl.'/css/_styles.css'),

        'cssFile' => Yii::app()->baseUrl . '/css/_styles.css',

        

        'columns'=>array(

                'flag_id',

                'flag_name',

                array(

                        'class'=>'CButtonColumn',

                ),

        ),

)); 



and get rid of




$model = new patientsFlags;

if(isset($_SESSION['criteria'])){

$dataProvider=new CActiveDataProvider('patientsFlags', array(

    'criteria'=>$model->search(), //hack to get ajax pagination to work

    'pagination'=>array(

        'pageSize'=>10,

    ),

));



You can set the page size etc. in the model.

Matt

thanks matt…