CGridView sort和name关系~

目前 CGridView配置Columns时,

目前不能够定义sort的方法~,看了源码是直接根据name来自动判断的~

我想,是否可以给column增加多一个sort属性,可以自行指定。


举一个需求例子吧:

配置columns时,


array(

    'totalFee',

),

在模型中,增加了 getTotalFee() 方法,这样的话,上面的配置就会输出增加的方法所返回的内容,现在有一个问题就是,我希望这个虚拟的属性也可以点击排序,我会指定另外一个字段来进行排~

虽然可以用:


array(

    array(

        'name'=>'sort_field_name',

        'value'=>'$data->totalFee',

        'header'=>'Total Fee',

    ),

),

但是,上面的做法,有几个不太方便,第一,书写了更多的配置代码,

第二,header不能够直接从model中的attributeLabels中的totalFee的配置直接返回(我想也可以用 ‘header’=>ModelName::model()->getAttributeLabel(‘totalFee’))

希望理想的配置是:


array(

    array(

        'name'=>'totalFee',

        'sort'=>'goods_amount',

    ),    

),

不知道这样表达是否清晰?


[color="#9932CC"]如果实现这样的需求不会麻烦的话,还是希望可以支持一下~谢谢![/color]

[color="#C0C0C0"](BTW: 虽然header可以直接指定text)[/color]

CGridView的排序是通过CActiveDataProvider的sorter属性来配置的。

看看我的需求,是否可以在配置column时,定义排序方法?