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]
],
]
]);
我需要有关 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]
],
]
]);