Pagination 在Yi2 basic应用程序中为gridview设置分页

Pagination 在Yi2 basic应用程序中为gridview设置分页,pagination,yii2,Pagination,Yii2,我使用yii2基本应用程序,并拥有带过滤器和搜索的gridview。 我要为每10条记录分页。我能做什么 我知道在dataprovider中添加分页,但如何将其添加到我的函数中 请帮帮我。 这对我很重要。 我做了很多搜索,但找不到解决方案 控制器: public function actionIndex() { $searchModel = new ContactSearch(); $dataProvider = $searchModel->search(Yii::$app

我使用yii2基本应用程序,并拥有带过滤器和搜索的gridview。 我要为每10条记录分页。我能做什么

我知道在dataprovider中添加分页,但如何将其添加到我的函数中

请帮帮我。 这对我很重要。 我做了很多搜索,但找不到解决方案

控制器:

public function actionIndex()
{
    $searchModel = new ContactSearch();
    $dataProvider = $searchModel->search(Yii::$app->request->queryParams);

    return $this->render('index', [
        'searchModel'=>$searchModel,
        'dataProvider' => $dataProvider,
    ]);
}
function actionIndex()
{
    $query = Article::find()->where(['status' => 1]);
    $countQuery = clone $query;
    $pages = new Pagination(['totalCount' => $countQuery->count()]);
    $models = $query->offset($pages->offset)
        ->limit($pages->limit)
        ->all();

    return $this->render('index', [
         'models' => $models,
         'pages' => $pages,
    ]);
}
In view file:

foreach ($models as $model) {
    // display $model here
}

// display pagination
echo LinkPager::widget([
    'pagination' => $pages,
]);
model\contactsearch.php

 <?php
 namespace app\models;

 use app\models\Contact;
 use yii\base\Model;
 use yii\data\ActiveDataProvider;

class ContactSearch extends Contact {
public function rules() {
    return [

        [['f_name', 'l_name', 'phone_number', 'Mobile_number'], 'safe'],
    ];
}

public function scenarios() {
    return Model::scenarios();
}

public function search($params) {
    $query = Contact::find();

    $dataProvider = new ActiveDataProvider([
        'query' => $query,
        'sort' => [
    'defaultOrder' => [
        'l_name' => SORT_DESC,
    ],

],
    ]);

    if (!(($this->load($params) && $this->validate()))) {
        return $dataProvider;
    }

    $query->andFilterWhere(['like', 'f_name', $this->f_name])
          ->andFilterWhere(['like', 'l_name', $this->l_name])
          ->andFilterWhere(['like', 'phone_number', $this->phone_number])
          ->andFilterWhere(['like', 'Mobile_number', $this->Mobile_number]);

          //->andorderBy('id asc');

    return $dataProvider;

}
}

?>

看法


在控制器中:

public function actionIndex()
{
    $searchModel = new ContactSearch();
    $dataProvider = $searchModel->search(Yii::$app->request->queryParams);

    return $this->render('index', [
        'searchModel'=>$searchModel,
        'dataProvider' => $dataProvider,
    ]);
}
function actionIndex()
{
    $query = Article::find()->where(['status' => 1]);
    $countQuery = clone $query;
    $pages = new Pagination(['totalCount' => $countQuery->count()]);
    $models = $query->offset($pages->offset)
        ->limit($pages->limit)
        ->all();

    return $this->render('index', [
         'models' => $models,
         'pages' => $pages,
    ]);
}
In view file:

foreach ($models as $model) {
    // display $model here
}

// display pagination
echo LinkPager::widget([
    'pagination' => $pages,
]);
在控制器中:

public function actionIndex()
{
    $searchModel = new ContactSearch();
    $dataProvider = $searchModel->search(Yii::$app->request->queryParams);

    return $this->render('index', [
        'searchModel'=>$searchModel,
        'dataProvider' => $dataProvider,
    ]);
}
function actionIndex()
{
    $query = Article::find()->where(['status' => 1]);
    $countQuery = clone $query;
    $pages = new Pagination(['totalCount' => $countQuery->count()]);
    $models = $query->offset($pages->offset)
        ->limit($pages->limit)
        ->all();

    return $this->render('index', [
         'models' => $models,
         'pages' => $pages,
    ]);
}
In view file:

foreach ($models as $model) {
    // display $model here
}

// display pagination
echo LinkPager::widget([
    'pagination' => $pages,
]);

在gridview中自定义记录金额的步骤

$dataProvider = new ActiveDataProvider([
    'query' => $query,
 //show 10 items per page
'pagination' => [
    'pagesize' => 10,
],
    'sort' => [
'defaultOrder' => [
    'l_name' => SORT_DESC,
],
其他选择是:

在gridview中自定义记录金额

$dataProvider = new ActiveDataProvider([
    'query' => $query,
 //show 10 items per page
'pagination' => [
    'pagesize' => 10,
],
    'sort' => [
'defaultOrder' => [
    'l_name' => SORT_DESC,
],
其他选择是:

我不懂你的代码。什么是文章,状态,克隆?文章是我的模式名,状态是列名,基于此我获取结果。克隆是预定义的函数,用于克隆类、对象或查询等。我不理解你的代码。什么是文章,状态,克隆?文章是我的模式名,状态是列名,基于此我获取结果。克隆是预定义的函数,用于克隆类、对象或查询等。。