1. PHP
  2. Yii Framework

Yii 2 – Filter dropdown list pada GridView

Bisa kita lihat, secara default input filter pada GridView di Yii Framework merupakan textfield. Dalam kasus ini, misalkan kita memerlukan filter berupa dropdown list untuk kolom is_active dan parent_id. Untuk membuatnya kita perlu memodifikasi kode GridView di atas dengan mengatur property filter dengan nilai array.

Contoh :

'columns' => [
    ['class' => 'yii\grid\SerialColumn'],
    // is_active,
    [
        'attribute' => 'is_active',
        'format' => 'boolean',
        'filter' => [1 => 'Yes', 2 => 'No']
    ],
],

Dengan menambahkan property filter dengan array, input filter pada kolom is_active akan berubah menjadi dropdown list.

Pertanyaan selanjutnya, bagaimana jika nilai pada dropdown list kita ambil dari database. Pada dasarnya caranya sama saja dengan contoh sebelumnya, hanya saja kita perlu mengambil data dari database yang kemudian kita petakan kedalam sebuah array yang sesuai.

Contoh :

'columns' => [
    ['class' => 'yii\grid\SerialColumn'],    
    [
        'attribute' => 'parent_id',                        
        'filter' => ArrayHelper::map(Category::find()->all(), 'id', 'name')
    ],
],
Comments to: Yii 2 – Filter dropdown list pada GridView

    Your email address will not be published. Required fields are marked *

    Attach images - Only PNG, JPG, JPEG and GIF are supported.