Yii Framework - Menambahkan link pada CGridView

alfa6661
- May 21, 2015
0 (0 votes)
Rate :
Cara menambahkan link pada CGridView Yii Framework

Secara default ketika generate CRUD menggunakan gii, Yii akan membuat 1 view yang menampilkan data dalam bentuk table dengan menggunakan widget CGridView. 

CGridView adalah salah satu widget dapat digunakan untuk membuat / manampilkan data dalam bentuk tabel. Akan tetapi, hasil generate dari gii kemungkinan tidak sesuai dengan yang kita inginkan. Misalnya kita perlu untuk menambahkan link pada row CGridView. Artikel ini akan menjelaskan bagaimana cara menambahkan link pada data CGridView.

Kode Awal

$this->widget('zii.widgets.grid.CGridView', array(
	'id'=>'provinsi-grid',
	'dataProvider'=>$model->search(),
	'filter'=>$model,
	'columns'=>array(
		'id',
		'nama',
		array(
			'class'=>'CButtonColumn',
		),
	),
));

Untuk menambahkan link pada kolom nama, bisa gunakan kode di bawah ini :

$this->widget('zii.widgets.grid.CGridView', array(
	'id'=>'provinsi-grid',
	'dataProvider'=>$model->search(),
	'filter'=>$model,
	'columns'=>array(
		'id',
		array(
			'name' => 'nama',
			'type' => 'raw',
			'value' => function($data) {
				return CHtml::link($data->nama, array('/provinsi/view', 'id' => $data->id));
			}
		),
		array(
			'class'=>'CButtonColumn',
		),
	),
));

Keterangan

Property Keterangan
name Atribute dari data model
type Tipe nilai atribute, secara default adalah text yang artinya nilai dari atribute adalah HTML encode.
value Nilai yang akan ditampilkan. Karena yang akan ditampilkan adalah link, maka kita memerlukan kode CHtml::link untuk membuatnya.

Hasilnya :

Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter

– Eric S. Raymond

Have a better explanation?

If you have comments about this post. Please write your comments below

  • nunu - posted 2 years ago
    thanks for the article