Yii2:在表单文件中包含网格视图窗口小部件的正确方法是什么

时间:2015-01-03 18:10:34

标签: php pagination yii2

我在_form.php中有这段代码。我面临的问题是,如果我将分页部分放在下面,它确实有效,但过滤器不起作用。如果我将过滤器部件放在分页部件下方,则过滤器部件工作和分页不起作用。

我的netbeans IDE再次抱怨我已经宣布$dataprovider两次。

这是我的代码。 表单部分:

<?php

use yii\helpers\Html;
use yii\widgets\ActiveForm;
use yii\grid\GridView;
use yii\data\ActiveDataProvider;
use app\models\State;
use app\models\StateSearch;
use app\models\City;

/* @var $this yii\web\View */
/* @var $model app\models\State */
/* @var $form yii\widgets\ActiveForm */

?>
<div class="row">
    <div class="col-lg-3">
<div class="col-lg-4 col-lg-offset-1">
<div class="state-form">

   <?php $form = ActiveForm::begin(); ?> 

    <?= $form->field($model, 'state_name')->textInput(['maxlength' => 50]) ?>

    <div class="form-group">
        <?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
    </div>

    <?php ActiveForm::end(); ?>

</div>

分页部分

<?php
    $dataProvider = new ActiveDataProvider([
        'query' => State::find(),
        'pagination' => [
            'pageSize' => 5,
        ],
    ]);
?>

过滤部分

<?php  
   $searchModel = New StateSearch(); 
   $dataProvider = $searchModel->search(Yii::$app->request->queryParams);
   ?>

Gridview小工具

<?= GridView::widget([
        'dataProvider' => $dataProvider,
        'filterModel' => $searchModel,

        'columns' => [
            ['class' => 'yii\grid\SerialColumn'],
           // 'id',
            'state_name',
            ['class' => 'yii\grid\ActionColumn'],
        ],
    ]); ?>   
</div>
</div>
  1. 我的过滤器和分页的正确方法是什么。

  2. 如何显示动作列图标内嵌(水平方向),我可以通过设置宽度在视图级别进行,但考虑是否有全局设置。

  3. 可以在网格视图上提供分页选项,供用户选择,如5,10或全部。

  4. 感谢。

0 个答案:

没有答案