Yii中CGridView使用心得

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


其他字段的可以参照一下,filter属性是用在搜索的时候进行筛选的。 因为CGridView要显示很多行,每一行可以看做一个记录,所以在显示每一行是,默认用变量 $data 来代表改行记录。因此在进行变换写 value 的时候,可以用 $data 来显示改行的某一字段值。 


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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值