Yii框架中CGridView 修改值的类型,处理值的方式

表中的每一行代表一个数据项的数据,和一个列通常代表一个属性的物品(一些列可能对应于复杂的表达式的属性或静态文本)。  CGridView既支持排 序和分页的数据项。排序和分页可以在AJAX模式或正常的页面请求。使用CGridView的一个好处是,当用户浏览器禁用JavaScript,排序和 分页自动退化普通页面请求和仍然正常运行。

代码如下:

$this->widget('zii.widgets.grid.CGridView', array(
		'id'=>'chapter-grid',
		'dataProvider'=>$model->search(),  //数据结果集
		'filter'=>$model,
		'columns'=>array(
				'id',
				//锚点<a href="http://www.gulianqiang.com/"></a>
				array(
						'name'=>'name',
						'type'=>'raw',
						'value'=>'CHtml::link($data->name,"/book/$data->id")',
				),
				//图片
				array(
						'name'=>'image',
						'type'=>'image',
						'value'=>'LImages::getPath("book").$data->image',//图片相对路径
				),
				//下拉列表
				array(
						'name'=>'type',
						'value'=>'Lookup::item("chapterType",$data->type)',
						'filter'=>Lookup::items('chapterType'),
				),
				//内容截取
				array(
						'name'=>'content',
						'type'=>'html',
						'value'=>'mb_substr(htmlspecialchars_decode($data->content),0,100,"utf-8")',
				),
				//时间
				array(
						'name'=>'create_time',
						'type'=>'datetime',
				),
				// 根据相关信息读数据库
				array(
						'name'=>'user_id',
						'value'=>'User::model()->findbyPk($data->user_id)->username',
						'filter'=>false,
				),
				array(
						'class'=>'CButtonColumn',
				),
		),
)); 

我的使用代码:

其实也是可以加入自己的方法的

$this->widget('zii.widgets.grid.CGridView', array(
		'id'=>'link-grid',
		'dataProvider'=>$model->search(),
		'summaryCssClass'=>'hide',
		'itemsCssClass'=>'table table-bordered',
		'emptyText'=>'搜索结果为空',
		'pagerCssClass'=>'pagination',
		'filterCssClass'=>'',
		'pager'=>array(
				'class'=>'CLinkPager',
				'nextPageLabel'=>'下一页',
				'prevPageLabel'=>'上一页',
				'firstPageLabel'=>'最前',
				'lastPageLabel'=>'最后',
				'htmlOptions'=>array('class'=>''),
				'header'=>'',
				'hiddenPageCssClass'=>'',
				'selectedPageCssClass'=>'active',
				'previousPageCssClass'=>'',
				'nextPageCssClass'=>'',
		),
		'filter'=>$model,
		'columns'=>array(
			'title'=>array(
				'name'=>'title',
				'type'=>'raw',
				'value'=>'Helper::truncate_utf8_string($data->title, 20,\'......\')',
			),
// 			'title',
			'url'=>array(
				'name'=>'url',
				'type'=>'raw',
				'value'=>'Helper::truncate_utf8_string($data->url, 20,\'......\')',
			),
			'create_date',
			array(
				'class'=>'CButtonColumn',
			),
		),
));

以上已经提供常用的数据显示类型。基本可以将使用Yii框架开发web应用使用CGridView的情况都列出。

参考资料:http://www.gulianqiang.com/yii/158.html

comments powered by Disqus