我使用Gii来生成我的代码。
现在,我想将视图中的表显示到分页中。因此,我像这样使用:
控制器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
]);
}
<<p> 视图/strong> <?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'],
],
]);
?>
它给了我这样的错误:
Calling unknown method: yii'data'ActiveDataProvider::count()
在gii2中实现分页的最佳实践是什么,我也想使用pjax来管理这个分页。
For the help。非常感谢
您可以这样设置dataProvider
的pageSize
:
$dataProvider->pagination = [
'pageSize' => 5,
];
如果在GridView
之间有Pjax::begin
和Pjax::end
,那么分页将自动使用Pjax。
详情请参阅
谢谢Kostas,它现在工作了:
最终代码如下:
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,
]);
}