Yii Framework 开发教程(32) Zii组件-GridView示例

CGridView 以表格的形式显示数据,CGridView 也支持分页和排序,CGridView最基本的用法和ListView类型,也是通过设置data provider,通常是CActiveDataProvider

修改上个例子Yii Framework 开发教程(31) Zii组件-DetailView 示例,把ListView该为GridView:

<?php $this->widget('zii.widgets.grid.CGridView', array(
	'dataProvider'=>$dataProvider,
	'ajaxUpdate'=>false,
	'template'=>'{pager}{summary}{items}{pager}',

)); ?>

显示结果如下:
201212128006可以看到GridView缺省显示了所有的字段,并使用缺省的格式显示字段,如果需要控制字段显示和格式,可以通过配置CGridView::columns属性来实现。GridView的每列为一个CGridColumn对象:
201212128007

  • CGridColumn为所有Grid 列表项的基类,表格的每例可以有一个表头,多个数据单元,和一个可选的表尾单元格。
  • CButtonColumn 表示该单元格为一个或多个按钮,缺省显示三个按钮, “view”, “update” 和”delete”,可以通过设置buttonstemplate来更改。
  • CCheckBoxColumn 表示该单元格为Checkbox,支持只读,单选或多选,通过配置selectableRows来修改
  • CDataColumn 表示该单元为数据或是表达式,通过配置namevalue,前者表示数据模型的属性名称,后者代码一个PHP表达式。
  • CLinkColumn 表示一个超链接,通过配置labelurlimageUrl来设置链接。

重新定义GridView的columns属性如下:

<?php $this->widget('zii.widgets.grid.CGridView', array(
	'id'=>'person-grid',
	'dataProvider'=>$dataProvider,
	'htmlOptions'=>array('style'=>'width:740px'),
	'pager'=>array(
				'maxButtonCount'=>'7',
				),
			'columns'=>array(

				array(
					'header'=>'Name',
					'type'=>'raw',
					'value'=>'CHtml::link($data->FirstName .
					 " " . $data->LastName,
					 $this->grid->controller->createUrl
					("view",array("CustomerId"=>$data->CustomerId)))',

					),

				'Company',

				array(
					'class'=>'CLinkColumn',
					'header'=>'Email',
					'imageUrl'=>'images/email.png',
					'labelExpression'=>'$data->Email',
					'urlExpression'=>'"mailto://".$data->Email',
					'htmlOptions'=>array('style'=>'text-align:center'),
					),
				array(
					'class'=>'CButtonColumn',
					'deleteConfirmation'=>'Are you sure to delete this item?',
					),
				),

));
?>

显示如下:
201212128008 点击姓名可以显示DetailView。 ButtonColumn 的update,search,delete没有添加对应的view ,就留给你自己加上了。
本例 下载
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值