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 表示一个超链接,通过配置 labelurlimageUrl来设置链接。

201212128007

示例代码

model

        public function allBranchs() {
                $criteria = new CDbCriteria;
                $criteria->with = 'parent';
                return new CActiveDataProvider($this, array(
                            'criteria' => $criteria,
                        ));
        }

view

$this->widget('zii.widgets.grid.CGridView', array(
    'dataProvider' => $model->allBranchs(),
    'pager' => array(
        'maxButtonCount' => '7',
    ),
    'template' => '{pager}{summary}{items}{pager}',
    'columns' => array(
        array(
            'class' => 'CCheckBoxColumn',
            'selectableRows'=>2,
            'value' => $model->id,
        ),
        'id',
        'parent_id',
        array(
            'header' => 'Parent Name',
            'name' => 'parent.name',
        ),
        'path',
        'name',
        'description',
        'uid',
        array(
            'class'=> 'CButtonColumn',
            'header' =>'操作',
            'deleteConfirmation' => '确定删除?',
        ),
    )
));

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

显示效果:

[GridView示

转载请注明: 转载自Ryan 是菜鸟 | LNMP 技术栈笔记

如果觉得本篇文章对您十分有益,何不 打赏一下

谢谢打赏

本文链接地址: Yii Zii 组件 CGridView 使用详解

知识共享许可协议 本作品采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可