Yii中CGridView常用在 admin 視圖中。
很多我們數據庫中保存的字段,在顯示的時候並非是真正的顯示數據庫中的值,例如:時間。在數據庫中時間以10位整數保存,但是在顯示的時候我們會用date函數將整數值轉換成時間格式再顯示。
CGridView有對各種字段值進行變換的功能。
如果不經修改,那麼CGridView顯示的值就是數據庫中原封不動的值。 此時columns數組的每個值是數據庫中對應表的一個字段。
如果要進行變換顯示,則columns變爲二維數組。
以時間爲例,我這裏是 create_time。 原生的是:
'columns' => array(
....
'create_time',
....
),
如果要以date格式顯示,則:
'columns'=>array(
'title',
'content',
array(
'name' => 'is_blank',
'value' => '$data->is_blank',
'filter' => array(0=>"否",1=>"是"),
),
array('name' => 'father',
'value' => '$data->navigation->name',
'filter' => Navigation::navigations(Navigation::FriendLinkType),
),
array('name'=>'create_time',
'type'=>'date',
'filter' => false,
),
array(
'class'=>'CButtonColumn',
),
),
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'friendlink-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
'title',
'content',
array(
'name' => 'is_blank',
'value' => '$data->is_blank',
'filter' => array(0=>"否",1=>"是"),
),
array('name' => 'father',
'value' => '$data->navigation->name',
'filter' => Navigation::navigations(Navigation::FriendLinkType),
),
array('name'=>'create_time',
'type'=>'date',
'filter' => false,
),
array(
'class'=>'CButtonColumn',
),
),
)); ?>