Dalam menampilkan data dengan CGridView Yii, mungkin ada field yang ditampilkan dengan setting tertentu, dan tidak ditampilkan dalam setting tertentu. Sebagai contoh saya mempunyai tabel purchase_item dengan field match_with_req. Field match_with_req akan ditampilkan jika setting always_use_pr =1.  Jadi jika aplikasi kita mengharuskan proses bisnis Purchase Request atau Permintaan Pembelian, maka field match_with_req akan ditampilkan, tetapi jika proses bisnis Purchase Order tidak memerlukan Purchase Request atau Permintaan Pembelian, maka field match_with_req tidak perlu ditampilkan.

Langkah-langkahnya adalah sebagai berikut

  1. Pada view/admin yang bersangkutan mendapatkan setting misalnya dengan coding berikut ini
    $always_use_pr= 0 + TblSetting::model()->findByAttributes(
    array(‘param1’=>’purchase_order’,
    ‘param2’=>’always_use_pr’,’is_active’=>1))->setting_value;
  2. Kemudian pada CGridView pada field yang bersangkutan atur show/hidenya dengan property visible misalnya
    $this->widget(‘zii.widgets.grid.CGridView’, array(
        ‘id’=>’group-menu-grid’,
        ‘ajaxUpdate’=>false,
        ‘dataProvider’=>$detailDataProvider,
        ‘columns’=>array(
            array(
                ‘class’=>’CButtonColumn’,
    ………………………………….
            ),
            ‘no_seq’,
            ‘item.item_name’,
    ………………………………….
            ‘unit.unit_code’,
            array(
                ‘name’=>’match_with_req’,
                ‘value’=>’Umum::getYesNoStr($data->match_with_req)’ ,
                ‘visible’=>$always_use_pr,
            ),
        ),
    ));
  3. Silahkan mencoba

Artikel yang mirip dengan ini adalah http://www.proweb.co.id/articles/web_application/show_field_cdetailview.html  dan http://www.proweb.co.id/articles/web_application/show_hide_cbuttoncolumn_yii.html .

 

Kunjungi www.proweb.co.id untuk menambah wawasan anda.

Show/hide kolom pada CGridView Yii