Php Yii2 GridView小部件,需要在单击排序顺序时反转
我需要Yii2 GridView小部件的帮助。 问题是: 如果您单击未排序的列名,默认情况下,它将从最小值排序到最大值(如defaultOrder中的sort\u ASC const)。单击时,我应该将什么更改为反向排序顺序,它应该是从最大到最小(如sort_DESC) 选择默认的onload排序顺序没有问题,我需要更改它的onclick顺序。dataProvider的排序选项包括:Php Yii2 GridView小部件,需要在单击排序顺序时反转,php,sorting,gridview,yii2,dataprovider,Php,Sorting,Gridview,Yii2,Dataprovider,我需要Yii2 GridView小部件的帮助。 问题是: 如果您单击未排序的列名,默认情况下,它将从最小值排序到最大值(如defaultOrder中的sort\u ASC const)。单击时,我应该将什么更改为反向排序顺序,它应该是从最大到最小(如sort_DESC) 选择默认的onload排序顺序没有问题,我需要更改它的onclick顺序。dataProvider的排序选项包括: 'sort' => [ 'attributes' =>
'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],
]
]
]
只需颠倒排序顺序,如下所示:-
'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]
],
]
]);
您可以按如下方式使用:
$dataProvider->setSort([
'attributes' => [
'weekly_length' => [
'asc' => ['weekly_length' => SORT_DESC],
'desc' => ['weekly_length' => SORT_ASC],
'defaultOrder' => ['weekly_length' => SORT_DESC]
],
]
]);
如果您再次单击,它将对其进行排序DESC,如果再次单击,则为ASC。这是一个大表,可能需要很长时间才能排序两次。我试图节省用户的时间/如果再次单击,它将按DESC排序,如果再次单击,则按ASC排序。这是一个大表,排序两次可能需要很长时间。我试图节省用户的时间/好主意,但并不完美。工作正常,但箭头,显示排序顺序颠倒)无论如何,谢谢。如果没有更好的解决方案,我会等几个小时——用你的,用你的想法。再次感谢/好主意,但不完美。工作正常,但箭头,显示排序顺序颠倒)无论如何,谢谢。如果没有更好的解决方案,我会等几个小时——用你的,用你的想法。再次感谢/这与第一个答案几乎相同,但允许您在不搜索datProvider声明的情况下进行更改。负号-它重写了已有的排序首选项,所以要小心。这与第一个答案几乎相同,但允许您在不搜索datProvider声明的情况下更改它。负号-它重写了已有的排序首选项,所以要小心。