Ydatagrid,这样的一个扩展,有需求吗?

简化表格操作、展示代码(可替代CGridView),支持:

  1. %A * %C这样的操作(A列乘以C列)此类操作

  2. 增加列、删除列、交换列、排序、合并单元格

  3. 设置样式、设置表格数据(使用类)

  4. Excel/CVS导出

  5. 跟AR快速关联、关联类直接获取…

代码如:




<?php


class OptsCell extends YDataGridCell{

    public function render() {

        $html = array(

            CHtml::link('查看', '/Store/View/' . $this->key),

        );

        $html[] = CHtml::link('编辑', '/Store/Edit/' . $this->key);

        return implode(' | ', $html);

    }

} 

    

$table = new YDataGrid($store_list, array(

    'columns' => array( //字义列

        'code',

        'name',

        'brand.name',  //关联表字段获取

        'status',

        'coin',

        'amount',

    ),

    'key' => array('_id','status') //指定keys

));

$table

->setColumnValues(array(

    'D' => 'php:StoreModel::getStatusName($data)',

))

->setTitles(array('门店编号', '门店名称', '品牌', '状态', '积分', '余额')) 					//设置标题

->insertCol(0, new OptsCell(), '操作')									//插入列,0表示最后一列,-1表示倒数第一列

->addColClass(array('E', 'F'),'right')									//设置列class属性

->render(false);											//显示,参数为is_debug,默认为true


// 

$table

->toExcelDataGrid() //转换成Excel子类

->export('文件名'); //导出Excel

?>



刚注册,创建不了extensions~~

5044

22A8C0E5-B8F6-4E4D-B17B-4AC1D7024EA9.png

:lol:

看起来不错哦!