gridview小部件过滤器中的yii2下拉列表

lau*_*ury 6 php yii2

我想在YII2框架的Gridview小部件中创建一个关闭的下拉列表值.我现在的代码:

<?= GridView::widget([
    'dataProvider' => $dataProvider,
    'filterModel' => $searchModel,
    'columns' => [ //only fields name!
        ['class' => 'yii\grid\SerialColumn'],

        'id',
        'title',
        'statusId',
        'categoryId',
       ['class' => 'yii\grid\ActionColumn'],
    ],
]); ?>
Run Code Online (Sandbox Code Playgroud)

和statudId应该是3个可能的值之一.(1开,2进,3关)

kob*_*obe 12

你好,答案很简单.

<?= GridView::widget([
        'dataProvider' => $dataProvider,
        'filterModel'  => $searchModel,
        'columns' => [
            ['class' => 'yii\grid\SerialColumn'],

            'id',
            'title',
            //don't use this:
            //'statusId',
            //use this instead:
            [
                'attribute' => 'statusId',
                'filter'    => [ "1"=>"open", "2"=>"in progress", "3"=>"closed" ]
            ],
            ['class' => 'yii\grid\ActionColumn'],
        ],
    ]); ?>
Run Code Online (Sandbox Code Playgroud)