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或 imageUrl来设置链接。
示例代码:
model
1 |
public function allBranchs() {
|
2 |
$criteria = new CDbCriteria;
|
3 |
$criteria ->with = ‘parent‘ ;
|
4 |
return new CActiveDataProvider( $this , array (
|
5 |
‘criteria‘ => $criteria ,
|
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‘ ,
|
11 |
‘value‘ => $model ->id,
|
16 |
‘header‘ => ‘Parent Name‘ ,
|
17 |
‘name‘ => ‘parent.name‘ ,
|
24 |
‘class‘ => ‘CButtonColumn‘ ,
|
26 |
‘deleteConfirmation‘ => ‘确定删除?‘ ,
|
这里是用 CActiveDataProvider 来作为data
provider,也可以用CArrayDataProvider 和 CSqlDataProvider。
显示效果:
Yii Zii组件 CGridView 使用详解