Я работаю над yii TbExtendedGridView. Я написал код для разбивки на страницы, и он работает нормально, но проблема связана с перезагрузкой страницы или изменением gridview. Я хочу сбросить pageSize = размер страницы по умолчанию.
Вот мой код,
Yii Как сбросить pageSize, выбранный из выпадающего списка страниц на странице refresh/reload
Просмотр кода страницы
//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
Привет, за ваш ответ, я пробовал с этим, и он работал для я, но другая проблема возникает, если я выберу 20 из раскрывающегося списка, тогда я получаю 1 - 20 записей. На той же странице у меня есть пейджер на нижней стороне сетки, теперь, если я нажму на NEXT, тогда я получу 11 - 20 записей вместо этого, я должен получить 21 - 40 записей –
работает, когда вы меняете выпадающий список до 20 а затем обновить страницу? – devOp
Извините, что ответьте, да, это работает для меня, но есть еще одна проблема, если я буду использовать этот код, а затем выпадаю и перезагружаю то, что он отлично работает. Если я выберу 20 из раскрывающегося списка, и у меня будет еще один пейджер в нижней части сетки, поэтому из нижнего пейджера, если я нажму на следующую страницу, тогда в режиме сетки я получаю всего 10 записей. он должен показать мне следующие 20 записей, но он показывает 11-20 –