有没有办法设置CGridView的初始排序?我有一个DB表,其中包含: id |名称|描述| create_time...在我的CGridView中,我希望我的数据不带id显示(这可以通过在CGridView中设置列来实现,但我想知道是否有其他方法可以从dataProvider中消除这些字段),并且我希望在名称ASC之后对数据进行排序。我该怎么做呢?因为它总是在id之后排序,而且我不能为CGridView设置标准。
发布于 2013-02-23 19:34:01
您可以在模型中分别定义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。
https://stackoverflow.com/questions/15039640
复制相似问题