yii CGridView初始排序

时间:2013-02-23 10:46:31

标签: sorting yii cgridview

有没有办法设置CGridView的初始排序? 我有一个DB表,其中包含:id |名字|描述| CREATE_TIME ... 在我的CGridView中,我希望我的数据显示没有id(这可以通过在CGridView中设置列来完成,但我想知道是否有任何其他方法可以从dataProvider中删除这些字段)并且我想让我的数据排序在名称ASC之后。我怎么能这样做,因为它总是在id之后排序,我不能为CGridView设置标准?

1 个答案:

答案 0 :(得分:4)

您可以分别在模型中定义CActiveDataProvider的默认顺序。默认情况下,以下代码段按列SortMeColumn排序。

public function search()
{
  $criteria = new CDbCriteria;
  $criteria->compare('ID', $this->ID, true);
  $criteria->compare('SortMeColumn', $this->SortMeColumn, true);

  return new CActiveDataProvider($this,
        array(
           'criteria' => $criteria,
           'sort' => array(
              'defaultOrder' => array(
                 'SortMeColumn' => CSort::SORT_DESC
              ),
           ),
        ));
}

请参阅CSort以供参考。