Yii2 GridView小部件,需要反向点击排序顺序

时间:2016-06-23 12:28:55

标签: php sorting gridview yii2 dataprovider

我需要Yii2 GridView小部件的帮助。 问题是: 如果单击未排序的列名,它将默认从min到max排序(如defaultOrder中的SORT_ASC const)。我应该在点击时改变反向排序顺序,它应该是从最大到最小(如SORT_DESC)。

选择默认排序顺序onload是没有问题的,我需要更改它的onclick命令。 dataProvider的排序选项是:

            'sort' => [
            'attributes' => ['weekly_length','name', 'market','unique','sessions','retentions', 'session_length_summary',],
            'defaultOrder' => ['weekly_length' => SORT_DESC],
          ],

2 个答案:

答案 0 :(得分:2)

将您的排序顺序撤消为: -

'sort' => [
            'attributes' => [
                'weekly_length' => [
                    'asc' => ['weekly_length' => SORT_DESC,],
                    'desc' => ['weekly_length' => SORT_ASC],
                ]
            ]
        ]

答案 1 :(得分:1)

您可以使用如下:

$dataProvider->setSort([
             'attributes' => [
                     'weekly_length' => [
                        'asc' => ['weekly_length' => SORT_DESC],
                         'desc' => ['weekly_length' => SORT_ASC],

                     'defaultOrder' => ['weekly_length' => SORT_DESC]
                ],
            ]
      ]);