我需要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],
],
答案 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]
],
]
]);