Yii2 - фильтр dropDownList вне GridView - PullRequest
0 голосов
/ 07 февраля 2020

У меня есть kartik \ GridView в представлении,

GridView

На самом деле, добавлен dropDownList на панели инструментов

GridView с выпадающим списком

Но мне нужен dropDownList в качестве опции фильтра для статуса [solicitude_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' => 'yii\grid\ActionColumn'],
    ],
    '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
    ],
]); ?>

1 Ответ

0 голосов
/ 08 февраля 2020

Вы можете попытаться использовать activeDropDownList для выполнения фильтрации:

Html::activeDropDownList($searchModel, 'attribute_name',
    ArrayHelper::map(ModelName::find()->asArray()->all(), 'ID', 'Name'),
   ['class'=>'form-control','prompt' => 'Select status']),

Изменить значения в соответствии с вашими атрибутами.

...