有没有办法设置 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/