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')
],
],
No Comments
Leave a comment Cancel