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',
),
),
)); ?>