如何在 Yii2 / GridView 中更改排序器参数?我

How to change sorter param in Yii2 / GridView?I

我有两个表,它们的列名几乎相同,使用了两种不同的搜索模型(都使用 ActiveDataProvider's),所以当我按列对一个进行排序时,另一个也会受到影响。

我已经尝试在我的第二个 GridView:

中设置这个
'sorter' => [
    'class' => 'yii\widgets\LinkSorter',
    'sortParam' => 'sortB',
],

但是没有用。


编辑: 排序参数是传递给服务器的 GET 变量:?sort=amount,或 ?param=1&sort=created_at

$sortParam is a property of yii\data\Sort, which handles the sorting on the DataProvider level and is accessable via $dataProvider->sort。 GridView上的$sorter只是一个可以显示排序链接的widget,但是继承自BaseListView,GridView默认不显示。

您应该像这样在 DataProvider 上设置 属性:

$dataProvider->sort->sortParam = 'user-sort';

同样适用于pageParam。 指南中有一节 Multiple GridViews on one page 正好涵盖了这个主题。