51

I am trying to make a dropdown list in the search box of a GridView::widget, Yii2 for searching related data. So, how can I create a simple dropdown list in the search box of GridView::widget, Yii2 framework?

Thanks.

GAMITG
  • 3,810
  • 7
  • 32
  • 51
washiur17
  • 617
  • 1
  • 6
  • 12

2 Answers2

81

You can also use below code

[
    'attribute'=>'attribute name',
    'filter'=>array("ID1"=>"Name1","ID2"=>"Name2"),
],

OR

[
    'attribute'=>'attribute name',
    'filter'=>ArrayHelper::map(Model::find()->asArray()->all(), 'ID', 'Name'),
],
GAMITG
  • 3,810
  • 7
  • 32
  • 51
Vikram Pote
  • 5,433
  • 4
  • 33
  • 37
78

Add this in Gridview columns array:

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

Change values according to your attributes.

Ivan Buttinoni
  • 4,110
  • 1
  • 24
  • 44
Chinmay Waghmare
  • 5,368
  • 2
  • 43
  • 68