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

Yii2 GridView widget, need to reverse on-click sort order

我需要有关 Yii2 GridView 小部件的帮助。 问题是: 如果您单击未排序的列名,它会排序,默认情况下从最小到最大(如 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],
          ],

只需将排序顺序反转为:-

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

您可以如下使用:

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

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