YII修改CGridView默认排序
CSort里面是有一个defaultOrder的属性,但是GII自动生成的CURD不能这么来;后来找到个帖子(Model Search - Merging in a default start criteria),里面写的比较详细。但是他在Controller里面的条件判断需要改下。
$merge = new CDbCriteria;
if(empty($_GET['Depart_sort'])) {
$merge->order = 'displayorder DESC';
}
主要的流程就是:
- 在控制器里面判断用户是否有指定排序字段,若没有则加上默认排序字段
- 传变量到模版里,由用户浏览页面,执行search
- model里面合并criteria的order条件
[code lang=text]沙发![/code]