CGridView 是Yii Framework  Zii的组件, 以表格的形式显示数据,CGridView 也支持分页和排序,CGridView最基本的用法和ListView类似,通过设置 data provider

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

  • CGridColumn为所有Grid 列表项的基类,表格的每例可以有一个表头,多个数据单元,和一个可选的表尾单元格。

  • CButtonColumn 表示该单元格为一个或多个按钮,缺省显示三个按钮, “view”, “update” 和”delete”,可以通过设置 buttonstemplate来更改。

  • CCheckBoxColumn 表示该单元格为Checkbox,支持只读,单选或多选,通过配置selectableRows来修改

  • CDataColumn 表示该单元为数据或是表达式,通过配置namevalue,前者表示数据模型的属性名称,后者代码一个PHP表达式。

  • CLinkColumn 表示一个超链接,通过配置 labelurlp_w_picpathUrl来设置链接。


Yii Zii组件 CGridView 使用详解_yii CGridView 使用

示例代码

model

1publicfunctionallBranchs() {
2$criteria= newCDbCriteria;
3$criteria->with = 'parent';
4returnnewCActiveDataProvider($this, array(
5'criteria'=> $criteria,
6));
7}

view

01$this->widget('zii.widgets.grid.CGridView', array(
02'dataProvider'=> $model->allBranchs(),
03'pager'=> array(
04'maxButtonCount'=> '7',
05),
06'template'=> '{pager}{summary}{items}{pager}',
07'columns'=> array(
08array(
09'class'=> 'CCheckBoxColumn',
10'selectableRows'=>2,
11'value'=> $model->id,
12),
13'id',
14'parent_id',
15array(
16'header'=> 'Parent Name',
17'name'=> 'parent.name',
18),
19'path',
20'name',
21'description',
22'uid',
23array(
24'class'=> 'CButtonColumn',
25'header'=>'操作',
26'deleteConfirmation'=> '确定删除?',
27),
28)
29));

这里是用 CActiveDataProvider 来作为data provider,也可以用CArrayDataProvider CSqlDataProvider

显示效果:

Yii Zii组件 CGridView 使用详解_yii CGridView 使用_02