3

有什么方法可以设置 CGridView 的初始排序?我有一个数据库表,其中包含: id | 姓名 | 描述 | create_time ... 在我的 CGridView 中,我希望在没有 id 的情况下显示我的数据(这可以通过在 CGridView 中设置列​​来完成,但我想知道是否有任何其他方法可以从 dataProvider 中消除此字段)并且我想将我的数据按名称 ASC 排序。我怎么能这样做,因为它总是在 id 之后排序并且我无法为 CGridView 设置标准?

4

1 回答 1

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以供参考。

于 2013-02-23T11:34:01.367 回答