1. PHP
  2. Yii Framework

Yii Framework Filter CGridView dengan Dropdownlist

Secara default filter pada cgridview menggunakan textfield. Akan tetapi adakalanya pada beberapa kasus diperlukan filter pada Cgridview dengan menggunakan dropdownlist.

Sebagai contoh, pada tabel person terdapat kolom untuk gender yang diwakili oleh 1 adalah laki-laki dan 2 adalah perempuan.

Misal anda punya CGridView seperti berikut :

<?php $this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'person-grid',
    'dataProvider'=>$model->search(),
    'filter'=>$model,
    'columns'=>array(
        'name',
        array(
            'name' => 'gender',
            'value' => function($data) {
                return $data->gender==1 ? "Laki-Laki" : "Perempuan";
            }
        ),
        array(
            'class'=>'CButtonColumn',
        ),
    ),
)); ?>

Pada CGridview di atas akan menghasilkan sebuah cgridview dengan filter berupa textfield. Untuk menampilkan filter dalam bentuk dropdownlist, property CDataColumn::filter harus di set sebagai array.

Contoh :

<?php $this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'person-grid',
    'dataProvider'=>$model->search(),
    'filter'=>$model,
    'columns'=>array(
        'name',
        array(
            'name' => 'gender',
            'value' => function($data) {
                return $data->gender==1 ? "Laki-Laki" : "Perempuan";
            },
            'filter'=> array(1 => 'Laki Laki', 2 => 'Perempuan'),
        ),
        array(
            'class'=>'CButtonColumn',
        ),
    ),
)); ?>

Note :

Data indeks array akan digunakan untuk nilai atribut dalam tag

Data indeks array juga merupakan nilai dari attribut gender yang di simpan dalam tabel person. dalam kasus ini 1 adalah Laki-Laki, dan 2 adalah Perempuan.

https://www.lab-informatika.com/
Comments to: Yii Framework Filter CGridView dengan Dropdownlist

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

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

Login

Welcome to Typer

Brief and amiable onboarding is the first thing a new user sees in the theme.
Join Typer
Registration is closed.