Biasanya di dalam tabel CGridView baris kedua teratas, terdapat kotak field filter yang berfungsi menyaring data di dalam tabel tersebut. Ketika pengguna mengetik kata tertentu, CGridView akan menampilkan data sesuai dengan kata yang dicari. Fungsi ini merupakan salah satu alasan mengapa CGridView begitu populer di Yii Framework.
Tetapi terkadang, kita tidak ingin menggunakan textfield sebagai filter tetapi menggunakan drop down box (istilah lain select box). Mungkinkah?
Sebenarnya mungkin-mungkin saja karena bagian area filter di Yii sudah dibuat sedemikian fleksibel. Kita cukup mengatur nilai atribut filter di dalam kolom bersangkutan.
Kita dapat menentukan nilai dari kotak drop down apakah mau di-input langsung ataupun diambil dari model.
Di-Input Langsung
Jika ingin diinput langsung, maka kita cukup memasukkan array. Misalnya kita ingin filter perempuan atau laki-laki di data CGridView, maka kodingnya kurang lebih seperti demikian:
<?php $this->widget('zii.widgets.grid.CGridView', array( 'id'=>'mahasiswa-grid', 'dataProvider'=>$model->search(), 'filter'=>$model, 'columns'=>array( 'nama', 'alamat', array( 'name'=>'jenis_kelamin', 'filter'=>array('1'=>'Laki-Laki','2'=>'Perempuan'), ) ), ));
Diambil dari Model
Daftar nilai dari kotak drop down juga dapat diambil dari model. Kita cukup memanfaatkan fungsi CHtml::listData(). Berikut merupakan contoh sederhananya
<?php $this->widget('zii.widgets.grid.CGridView', array( 'id'=>'karyawan-grid', 'dataProvider'=>$model->search(), 'filter'=>$model, 'columns'=>array( 'nama', 'tingkat', array( 'name'=>'divisi_id', 'filter'=>CHtml::listData( Divisi::model()->findAll(), 'id', 'nama' ), ) ), ));
Demikian tutorial singkat mengenai cara memasang kotak drop down pada filter CGridView. Sederhana bukan? Oh ya, sebetulnya tidak hanya kotak drop down yang bisa dipasang di baris filter. Kita bahkan bisa memasang checkbox di tempat filter. Penasaran? Silahkan nantikan tutorial mendatang.
[...] Tutorial, Yii Framework Topik sebelumnya sudah dibahas bagaimana mengubah filter di CGridView menjadi drop down box. Penulis kali ini akan mengajak Anda untuk menelusuri lebih dalam sejauh mana kita dapat [...]
Terima kasih, tutorialnya sangat membantu,
[...] sebelumnya sudah dibahas bagaimana mengubah filter di CGridView menjadi drop down box. Penulis kali ini akan mengajak Anda untuk menelusuri lebih dalam sejauh mana kita dapat [...]
work!!!