0

我很想在 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)',
                ),
            ),
        ),
    ),
)); ?>

谢谢抗体

4

1 回答 1

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

问候。

于 2012-05-14T07:50:19.387 回答