我的Yii CGridView排序不是这样的
public function search() {
$criteria = new CDbCriteria;
$criteria->order = "member_id DESC";
Run Code Online (Sandbox Code Playgroud)
当我单击标题菜单时,CGridView它不起作用,但当我删除
$criteria->order = "member_id DESC";`
Run Code Online (Sandbox Code Playgroud)
排序工作正常.我想默认显示记录order by member_id desc.
Sam*_*iew 10
删除此行 $criteria->order = "member_id DESC";
修改你的回报:
return new CActiveDataProvider($this, array(
'criteria' => $criteria,
'sort' => array(
'defaultOrder' => 'member_id DESC',
),
));
Run Code Online (Sandbox Code Playgroud)
使用CActiveDataProvider:在此类CActiveDataProvider中,您可以找到属性defaultOrder,以根据数据库表列名称在网格视图中设置defult可见顺序.
defaultOrder: defaultOrder是CActiveDataProvider类中的属性.此属性属于CSort类.当CActiveDataProvider类继承CSort时,defaultOrder属性成为CActiveDataProvider的属性.
执行任务的语法是
$dataProvider = new CActiveDataProvider('YourModel',
array(
'sort' => array('defaultOrder' => 'member_id DESC')
));
Run Code Online (Sandbox Code Playgroud)
将此$ dataProvider传递给您的视图
$this->render('YourView', array(
'dataProvider' => $dataProvider
));
Run Code Online (Sandbox Code Playgroud)
因为你想在CGridView中呈现结果
$this->widget('zii.widgets.grid.CGridView', array(
'id' => 'data-grid',
'dataProvider' => $model->search(),
'columns' => array(
'column1',
'column2',
'column3',
array('class' => 'CButtonColumn'),
),
));
Run Code Online (Sandbox Code Playgroud)
我认为问题在这里
$criteria->order = "member_id DESC";
Run Code Online (Sandbox Code Playgroud)
只需删除此行,然后添加
return new CActiveDataProvider($this,array(
'criteria'=>$criteria,
'sort'=>array(
'defaultOrder'=>'member_id DESC',
),
));
Run Code Online (Sandbox Code Playgroud)
希望它会对你有所帮助.
| 归档时间: |
|
| 查看次数: |
12669 次 |
| 最近记录: |