我正在制作yii TbExtendedGridView。我已经编写了从下拉分页的代码,它工作得很好,但问题是页面重新加载或更改gridview我想重置pageSize =默认页面大小。
这是我的代码,
查看页面代码
//pagination dropdown start
$pageSize=Yii::app()->user->getState('pageSizeUserList',Yii::app()->params['defaultPageSize']);
//pagination dropdown end
$this->widget('booster.widgets.TbExtendedGridView', array(
'id' => 'UserList',
'type' => 'striped',
'dataProvider'=>$model->search(),
'filter' => $model,
//pagination dropdown start
'summaryText'=>'Rows per page '.
CHtml::dropDownList('pageSizeUserList', $pageSize, Yii::app()->params['pageSizeOptions'],
array('class'=>'change-pageSize',
'onchange'=>"$.fn.yiiGridView.update('UserList',{ data:{ pageSizeUserList: $(this).val() }})")).
' Displaying {start}-{end} of {count} result(s)',
//pagination dropdown end
'template' => "{summary}{items}{pager}",
'ajaxVar' => 'ajax',
'ajaxUpdate' => 'UserList',
'columns'=>array(
array(
'name' => 'user_name',
'type' => 'raw',
'value' => 'CHtml::link(CHtml::encode(($data->profile && $data->profile->name()) ? $data->profile->name() : $data->username), array("/user/user/view", "id" => $data->id))',
'filter' => CHtml::activeTextField($model, 'candidate_name', ['class'=>'form-control small']),
),
)));
模型页代码
'pagination'=>array(
'pageSize'=> Yii::app()->user->getState('pageSizeUserList',Yii::app()->params['defaultPageSize']),
),
控制器页面代码
//code for pagination start
public function actionAdmin($renderPartial = NULL) {
if (isset($_GET['pageSizeUserList'])) {
Yii::app()->user->setState('pageSizeUserList',(int)$_GET['pageSizeUserList']);
unset($_GET['pageSizeUserList']);
}
}
//code for pagination end
您是否在控制器页面代码中尝试过此操作:
//code for pagination start
public function actionAdmin($renderPartial = NULL) {
Yii::app()->user->setState('pageSizeUserList', Yii::app()->params['defaultPageSize']);
if (isset($_GET['pageSizeUserList'])) {
Yii::app()->user->setState('pageSizeUserList',(int)$_GET['pageSizeUserList']);
}
}
//code for pagination end
在模型分页代码中,行中最后一个逗号前有一个分号应该删除