在YII中默认按desc顺序排序数据

时间:2012-05-14 06:20:38

标签: yii

我想在YII视图中以降序显示某些数据。我是否默认按studentID desc订购数据?

<?php $this->widget('zii.widgets.grid.CGridView', array(
    'id' => 'student-grid',
      'criteria'=>array(

'order'=>'StudentID DESC',

     ),

    'dataProvider' => Agent::getStudents($model->agent_id),
    'columns' => array(
        'StudentID',
        'first_name',
        'last_name',

        'dob',
        'gender',
        array(
            'header' => 'Options',
            'class' => 'CButtonColumn',
            'template'=>'{View}',
            'buttons'=>array(
                'View' => array(
                    'url'=> 'Yii::app()->createUrl("/students/view/" . $data->StudentID)',
                ),
            ),
        ),
    ),
)); ?>

谢谢Ab

1 个答案:

答案 0 :(得分:5)

在你的dataProvider中(我假设这是getStudents()函数返回的)将另一个数组添加到你的配置数组中:)喜欢:

return new CActiveDataProvider(get_class($this), array(
    'criteria'=>$some_criteria,
    /* Your array */
    'sort'=>array(
        'defaultOrder'=>array(
            'StudentID'=>true,
        ),
    ),
    /***/
));

'defaultOrder'数组中的值'false'表示升序,'true'表示降序。

我希望这就是你要找的东西:)。

同时查看此论坛主题:http://www.yiiframework.com/forum/index.php/topic/8428-cgridview-default-sort/ 和这个文档:http://www.yiiframework.com/doc/api/1.1/CSort#defaultOrder-detail

问候。