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