gpt4 book ai didi

php - 如何设置要在 yii2 GridView 中显示的项目数量?

转载 作者:行者123 更新时间:2023-11-29 03:22:57 26 4
gpt4 key购买 nike

enter image description here

Controller 代码:

 public function actionIndex() {
$searchModel = new ProductSearch();
if (Yii::$app->request->get('per-page') !== NULL) {
$searchModel->_pageSize = Yii::$app->request->get('per-page');
}
if ($searchModel->load(Yii::$app->request->post())) {
$searchModel->_pageSize = intval(Yii::$app->request->post()['ProductSearch']['_pageSize']);
$_SESSION['page_size'] = $searchModel->_pageSize;
}


if (isset($_SESSION['page_size']))
{
$dataProvider = $searchModel->search(Yii::$app->request->queryParams, null ,$_SESSION['page_size']);
}
else
{
$dataProvider = $searchModel->search(Yii::$app->request->queryParams, null, 20);
}
$dataProvider->pagination->pageSize=10;
$this->layout = 'main_ecommerce';
return $this->render('index', [
'searchModel' => $searchModel,
'dataProvider' => $dataProvider,

]);

查看代码:

if (isset($_SESSION['page_size']))
{
$searchModel->_pageSize = $_SESSION['page_size'];
}
Pjax::begin();
$form = ActiveForm::begin();
echo $form->field($searchModel, '_pageSize', [
'inputOptions' => [
'placeholder' => 'records',
'style' => 'overflow-x: auto;',
'class' => 'form-control input-xsmall input-inline' ],
])->label(Yii::t('app', 'Records : '))
->dropDownList(['10'=> 10, '20' => 20, '50' => 50], ['onchange'=>"this.form.submit();"]);
ActiveForm::end();
Pjax::end();
echo $searchModel->_pageSize;
?>
<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'pager' => [
'options'=>['class'=>'pagination'],
'prevPageLabel' => Html::tag('i', "", ['class' => 'fa fa-angle-left']),
'nextPageLabel' => Html::tag('i', "", ['class' => 'fa fa-angle-right']),
'firstPageLabel'=>Html::tag('i', "", ['class' => 'fa fa-angle-double-left']),
'lastPageLabel'=> Html::tag('i', "", ['class' => 'fa fa-angle-double-right']),
],
'columns' => [
['class' => 'yii\grid\SerialColumn'],

图片显示GridView只显示了30行记录。我如何调整它以便我可以显示,例如每页 50 条记录。不知何故,一旦我已经设置了它,它就会一直显示一个小于我设置的值。这是为什么?

最佳答案

尝试使用

$dataProvider->pagination->pageSize=10;

在返回 searchmodel 和 dataprovider 之前在 actionIndex 中

例如:

    $searchModel = new UserMasterSearch();
$dataProvider = $searchModel->search(Yii::$app->request->post());

$dataProvider->pagination->pageSize=10;

return $this->render('index', [
'searchModel' => $searchModel,
'dataProvider' => $dataProvider,
]);

关于php - 如何设置要在 yii2 GridView 中显示的项目数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40928194/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com