具有自定义值的Yi2 gridview过滤器

具有自定义值的Yi2 gridview过滤器,gridview,filter,yii2,Gridview,Filter,Yii2,我已将值显示如下: 1=>活动,0=>非活动 1,0是db值 这是我的专栏 [ 'label' => 'Status', 'attribute' => 'activeStatus', 'format' => 'html', 'value'=>function ($data){return $data->activeStatus ? '<span class="lab

我已将值显示如下:

1=>活动,0=>非活动

1,0是db值

这是我的专栏

[
            'label' => 'Status',
            'attribute' => 'activeStatus',
            'format' => 'html',
            'value'=>function ($data){return $data->activeStatus ? '<span class="label label-success">Active</span>' : '<span class="label label-danger">Inactive</span>';} 
        ],
如何使用活动/非活动启用网格过滤器?它可以是dropdownlist,也可以只通过键入Active/Inactive即可。

GridView


我建议使用dropDownList。我的db有int值,我会显示像1=>Active,0=>Inactive这样的值,它不会过滤。只需添加带有“filter”=>的数组即可。。。键,并确保activeStatus属性位于用于搜索的模型中的规则列表中。url中正确传递的值。但它不会返回值:@初学者检查searchModel的过滤条件和规则。
[
    'label' => 'Status',
    'attribute' => 'activeStatus',
    'format' => 'html',
    'value' => function ($data){
        return $data->activeStatus ? '<span class="label label-success">Active</span>' : '<span class="label label-danger">Inactive</span>';
    },
    'filter' => [1 => 'Active', 0 => 'Inactive'],
],
public function rules()
{
    return [
        [['activeStatus'], 'integer'],
        .
        .
        .
    ];
}

// grid filtering conditions
$query->andFilterWhere([
     'activeStatus' => $this->activeStatus,
]);