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

ome*_*itz 3 gridview yii2 yii2-advanced-app yii2-model

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

我试过在第二次设置这个GridView:

'sorter' => [
    'class' => 'yii\widgets\LinkSorter',
    'sortParam' => 'sortB',
],
Run Code Online (Sandbox Code Playgroud)

但无济于事.


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

ceb*_*ebe 5

$sortParam是一个属性yii\data\Sort,它处理DataProvider级别的排序,可通过$ dataProvider-> sort访问.将$sorter在GridView上仅是可以显示分拣环节的窗口小部件,但毕竟是从继承BaseListView和默认不显示在GridView控件.

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

$dataProvider->sort->sortParam = 'user-sort';
Run Code Online (Sandbox Code Playgroud)

这同样适用pageParam于此.指南中有一节关于多个GridViews的部分正好涵盖了这个主题.