如何在Yii2 / GridView中更改分拣机参数?我

时间:2017-02-15 15:18:06

标签: gridview yii2 yii2-advanced-app yii2-model

我有两个表格,列名相同,使用两个不同的搜索模型(都使用ActiveDataProvider),所以当我按列排序时,另一个也会受到影响。

我已尝试在我的第二个GridView中设置此内容:

'sorter' => [
    'class' => 'yii\widgets\LinkSorter',
    'sortParam' => 'sortB',
],

但无济于事。

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

1 个答案:

答案 0 :(得分:5)

$sortParamyii\data\Sort的属性,它处理DataProvider级别的排序,可通过$dataProvider->sort访问。 GridView上的$sorter只是一个可以显示排序链接的小部件,但它继承自BaseListView,默认情况下不会显示在GridView中。

您应该在DataProvider上设置此属性,如下所示:

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

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