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

最佳答案

您可以在模型中分别定义默认顺序 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 以供引用。

关于sorting - yii CGridView 初始排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15039640/

10-12 05:28