CGridView 是Yii Framework Zii的组件, 以表格的形式显示数据,CGridView 也支持分页和排序,CGridView最基本的用法和ListView相似,经过设置 data provider。web
GridView缺省显示了全部的字段,并使用缺省的格式显示字段,若是须要控制字段显示和格式,能够经过配置 CGridView::columns属性来实现。GridView的每列为一个CGridColumn对象:api
- CGridColumn为全部Grid 列表项的基类,表格的每例能够有一个表头,多个数据单元,和一个可选的表尾单元格。
- CButtonColumn 表示该单元格为一个或多个按钮,缺省显示三个按钮, “view”, “update” 和”delete”,能够经过设置 buttons 和 template来更改。
- CCheckBoxColumn 表示该单元格为Checkbox,支持只读,单选或多选,经过配置selectableRows来修改
- CDataColumn 表示该单元为数据或是表达式,经过配置name或value,前者表示数据模型的属性名称,后者代码一个PHP表达式。
- CLinkColumn 表示一个超连接,经过配置 label , url或 imageUrl来设置连接。

示例代码:yii
modelide
1 |
public function allBranchs() { |
2 |
$criteria = new CDbCriteria; |
3 |
$criteria ->with = 'parent' ; |
4 |
return new CActiveDataProvider( $this , array ( |
5 |
'criteria' => $criteria , |
viewui
01 |
$this ->widget( 'zii.widgets.grid.CGridView' , array ( |
02 |
'dataProvider' => $model ->allBranchs(), |
04 |
'maxButtonCount' => '7' , |
06 |
'template' => '{pager}{summary}{items}{pager}' , |
09 |
'class' => 'CCheckBoxColumn' , |
11 |
'value' => $model ->id, |
16 |
'header' => 'Parent Name' , |
17 |
'name' => 'parent.name' , |
24 |
'class' => 'CButtonColumn' , |
26 |
'deleteConfirmation' => '肯定删除?' , |
这里是用 CActiveDataProvider 来做为data provider,也能够用CArrayDataProvider 和 CSqlDataProvider。this
显示效果:url