3

CGridView の初期ソートを設定する方法はありますか? 次を含む DB テーブルがあります。名前 | 説明 | 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 に答える