我在视图中有一个kartik\GridView,
网格视图
实际上,在工具栏上添加了一个下拉列表
带下拉列表的网格视图
但是我需要下拉列表作为状态 [solicitudes_status] 的过滤器选项,我该如何实现?谢谢。
$statusAll = TblEstatus::find()->all();
$statusArray = ArrayHelper::map($statusAll, 'estatus_id', 'estatus_descripcion');
$searchModel = new TblSolicitudesSearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
'solicitudes_solicitud',
'solicitudes_dependencia_destino_id',
'solicitudes_dependencia_tipoapoyo_id',
'solicitudes_status',
[
'attribute' => 'solicitudes_status',
'filter' => [ 1=>"Nuevos", 2=>"Atendiendo", 3=>"Terminados" ]
],
['class' => 'yiigridActionColumn'],
],
'toolbar' => [
['content'=>
Html::dropDownList('status_list_drop', 'null', $statusArray, ['data-pjax'=>0, 'class' => 'form-control']),
],
],
'pjax' => true,
'bordered' => true,
'striped' => false,
'condensed' => false,
'responsive' => true,
'hover' => true,
'floatHeader' => false,
'showPageSummary' => false,
'panel' => [
'type' => GridView::TYPE_DEFAULT
],
]); ?>
您可以尝试使用activeDropDownList
来执行过滤:
Html::activeDropDownList($searchModel, 'attribute_name',
ArrayHelper::map(ModelName::find()->asArray()->all(), 'ID', 'Name'),
['class'=>'form-control','prompt' => 'Select status']),
根据您的属性更改值。