<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'user-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
'id',
'name',
'phone',
array(
'class'=>'CButtonColumn',
'template'=>'{lookMyDetail} {justUpdate} {deleteMe}',
'buttons'=>array
(
'lookMyDetail' => array
(
'label'=>'來看我的一切秘密吧',
'imageUrl'=>Yii::app()->request->baseUrl . '/images/icons/view.png',
'url'=>'Yii::app()->createUrl("user/detail", array("id"=>$data->id))',
),
'justUpdate' => array
(
'label'=>'就是要改怎樣?',
'imageUrl'=>Yii::app()->request->baseUrl . '/images/icons/update.png',
'url'=>'Yii::app()->createUrl("user/adminUpdate", array("id"=>$data->id))',
),
'deleteMe' => array
(
'label'=>'刪掉我的記憶',
'imageUrl'=>Yii::app()->request->baseUrl . '/images/icons/delete.png',
'url'=>'Yii::app()->createUrl("user/delete", array("id"=>$data->id))',
),
),
),
),
));
?>
紅色字就是特別要注意的地方!
1. 首先columns是你要顯示的欄位
2. CButtonColumn就是為了後面的按鈕所呼叫的class
3. template非常重要!! 這裡預設是{view} {update} {delete}, 分別代表三個按鈕的順序及超連結目標.
例如:
如果我只想要刪除、修改的話, 那就是 {delete} {update}, 這樣就不會有檢視 (view的圖案跟連結), 而且順序也改變了!
再進階點:
那就是如上面的例子, 透過設置buttons的array參數來添加
1. 滑鼠移過去時的文字提示 (label)
2. 圖示 (imageUrl)
3. 超連結的網址 (url)
這樣就可以符合我們的基本需求了吧^^ 來睡嘍~