Php 从yii2中的gii代码生成创建分页
我已经使用Gii生成了我的代码 现在,我想将视图中的表显示为分页。 所以,我用这样的方式:Php 从yii2中的gii代码生成创建分页,php,pagination,yii2,Php,Pagination,Yii2,我已经使用Gii生成了我的代码 现在,我想将视图中的表显示为分页。 所以,我用这样的方式: Calling unknown method: yii\data\ActiveDataProvider::count() public function actionIndex() { $searchModel = new BarangSearch(); $dataProvider = $searchModel->search(Yii::$app->request->q
Calling unknown method: yii\data\ActiveDataProvider::count()
public function actionIndex() {
$searchModel = new BarangSearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
$dataProvider->pagination = [
'pageSize' => 2,
];
return $this->render('index', [
'searchModel' => $searchModel,
'dataProvider' => $dataProvider,
]);
}
控制器
public function actionIndex() {
$searchModel = new BarangSearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
$countDataProvider = clone $dataProvider;
$paging = new \yii\data\Pagination([
'totalCount' => $countDataProvider->count(),
'defaultPageSize' => 5
]);
return $this->render('index', [
'searchModel' => $searchModel,
'dataProvider' => $dataProvider,
'paging' => $paging
]);
}
查看
<?php
Pjax::begin([
'timeout' => 5000,
'id' => 'pjax-gridview'
]);
?>
<?=
GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
'NO_URUT',
'CONSIGNEE',
'CONTAINER',
'SIZE',
'COIL_NO',
'NET',
'GROSS',
'CONTRACT_NO',
'KET',
'NAMA_FILE',
'TGL_UNSTUFF',
'CREATED_AT',
'UPDATED_AT',
[
'attribute' => 'CREATED_BY',
'value' => function($data) {
$username_created_by = $data->CREATED_BY;
if ($user = User::findIdentity($data->CREATED_BY)):
$username_created_by = $user->username;
endif;
}
],
'UPDATED_BY',
['class' => 'yii\grid\ActionColumn'],
],
]);
?>
在gii2中实现分页的最佳实践是什么,我也想使用pjax来管理这种分页
谢谢你的帮助。非常感谢您可以如下设置
数据提供程序的页面大小
:
$dataProvider->pagination = [
'pageSize' => 5,
];
如果在GridView
之间有Pjax::begin
和Pjax::end
,则分页将自动使用Pjax
有关更多详细信息,请参见。您可以如下设置数据提供程序的页面大小
:
$dataProvider->pagination = [
'pageSize' => 5,
];
如果在GridView
之间有Pjax::begin
和Pjax::end
,则分页将自动使用Pjax
有关更多详细信息,请参见。谢谢Kostas,它现在可以工作了:
最后的代码如下:
Calling unknown method: yii\data\ActiveDataProvider::count()
public function actionIndex() {
$searchModel = new BarangSearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
$dataProvider->pagination = [
'pageSize' => 2,
];
return $this->render('index', [
'searchModel' => $searchModel,
'dataProvider' => $dataProvider,
]);
}
谢谢Kostas,它现在可以工作了:
最后的代码如下:
Calling unknown method: yii\data\ActiveDataProvider::count()
public function actionIndex() {
$searchModel = new BarangSearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
$dataProvider->pagination = [
'pageSize' => 2,
];
return $this->render('index', [
'searchModel' => $searchModel,
'dataProvider' => $dataProvider,
]);
}
尝试getTotalCount()
而不是count()
在索引中如何创建:只创建分页索引,而不是分页本身。尝试getTotalCount()
而不是count()
在索引中如何创建:只创建分页索引,而不是分页本身。谢谢,但是我应该把:$dataProvider->pagination=['pageSize'=>5,];紧随其后:$dataProvider=$searchModel->search(Yii::$app->request->queryParams);谢谢,但是我应该放在哪里:$dataProvider->pagination=['pageSize'=>5,];紧随其后:$dataProvider=$searchModel->search(Yii::$app->request->queryParams);是的,就是这样。考虑一下卡提克的GRIDVIEW。你可以在这里找到:是的,就是这个。考虑一下卡提克的GRIDVIEW。你可以在这里找到它: