CGridView 是Yii Framework Zii的组件, 以表格的形式显示数据,CGridView 也支持分页和排序,CGridView最基本的用法和ListView类似,通过设置 data provider。
GridView缺省显示了所有的字段,并使用缺省的格式显示字段,如果需要控制字段显示和格式,可以通过配置 CGridView::columns属性来实现。GridView的每列为一个CGridColumn对象:
CGridColumn为所有Grid 列表项的基类,表格的每例可以有一个表头,多个数据单元,和一个可选的表尾单元格。
CButtonColumn 表示该单元格为一个或多个按钮,缺省显示三个按钮, “view”, “update” 和”delete”,可以通过设置 buttons 和 template来更改。
CCheckBoxColumn 表示该单元格为Checkbox,支持只读,单选或多选,通过配置selectableRows来修改
CDataColumn 表示该单元为数据或是表达式,通过配置name或value,前者表示数据模型的属性名称,后者代码一个PHP表达式。
CLinkColumn 表示一个超链接,通过配置 label , url或 p_w_picpathUrl来设置链接。
示例代码:
model
1 | public function allBranchs() { |
2 |
$criteria = new CDbCriteria; |
3 |
$criteria ->with = 'parent' ; |
4 |
return new CActiveDataProvider( $this , array ( |
view
01 | $this ->widget( 'zii.widgets.grid.CGridView' , array ( |
02 |
'dataProvider' => $model ->allBranchs(), |
04 |
'maxButtonCount' => '7' , |
06 |
'template' => '{pager}{summary}{items}{pager}' , |
09 |
'class' => 'CCheckBoxColumn' , |
16 |
'header' => 'Parent Name' , |
17 |
'name' => 'parent.name' , |
24 |
'class' => 'CButtonColumn' , |
26 |
'deleteConfirmation' => '确定删除?' , |
这里是用 CActiveDataProvider 来作为data provider,也可以用CArrayDataProvider 和 CSqlDataProvider。
显示效果: