Menambahkan Nomor di CgridView Yii Secara Otomatis

Posted in Yii, Saturday, May 17th, 2014, by Muhammad Fahmi Al Azhar

Dengan menggunakan CGridView, kita bisa menampilkan data dari database ke dalam bentuk gridview atau tabel dengan sangat mudah.

Adakalanya kita ingin menampilkan nomor di kolom bagian kiri dari CGridView tersebut. Nomor itu tentunya tidak diambil dari dalam database, oleh karenanya kita harus menampilkannya secara manual.

Oke ini potongan source code untuk menambahkan nomor di CGridView Yii

$this->widget('zii.widgets.grid.CGridView', array(
    'dataProvider' => $model->search(),
    //'filter' => $model,
    'columns' => array(
        array(
            'name' => 'id_dokumen',
            'header' => 'ID',
            'htmlOptions' => array(
                'style' => 'text-align:center;'
            )
        ),
        array(
            'header' => 'No',
            'value' => '$row+1',
        ),
        array(
            'header' => 'Aksi',
            'htmlOptions' => array('nowrap' => 'nowrap'),
            'class' => 'CButtonColumn',
            'template' => '{update}{delete}',
            'buttons' => array(
                'update' => array(
                    'label' => 'Rename dokumen ini',
                    'url' => 'Yii::app()->createUrl("docs/renamedokumen", array("id" => $data["id_dokumen"],))',
                    'options' => array('style' => 'margin-right: 10px; margin-left: 25px;'),
                ),
                'delete' => array(
                    'label' => 'Hapus sampel ini',
                    'url' => 'Yii::app()->createUrl("docs/hapus", array("id" => $data["id_dokumen"],))',
                    'options' => array('style' => 'margin-left: 2px;'),
                ),
            ),
        ),
    ),
));
?>

Kita tinggal menambahkan code ini saja:

array(
            'header' => 'No',
            'value' => '$row+1',
        ),

Dan inilah hasilnya:

Menambahkan Nomor di CgridView Yii

Nomor di CgridView Yii

Silakan dicoba dan dicek, ketika kolom di sort atau bahkan ketika kita memasuki next page di pagination, row nya tetap berawal dari no 1 dan tidak ikut di sort.

Semoga bermanfaat.

Leave a Reply

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