两个 kartik\grid\GridView 表共享相同的分页获取变量

two kartik\grid\GridView tables share same pagination get variable

我有两个 kartik\grid\GridView table 在同一页上有分页。当我更改第一个 table 的页面时,第二个 table 也更改其页面。它们共享相同的 $_GET 参数 pageper-page.

设置分页获取变量名的任何选项或解决此问题的任何其他方法。

谢谢。

一页上有多个网格

每个 Yii2 小部件都封装了很多内容,因此使用多个 GridView 小部件很简单activity,只需要做很少的更改。

确实无法使用 DataProvider 模型自定义的唯一参数 class 是 pageParam 和 sortParam,它们定义当前页面索引和用于排序网格的参数。

例如,假设我们有两个 GridView,其中填充了两个不同的数据提供程序 $firstDataProvider 和 $secondDataProvider。

在控制器中,我们将设置每个DataProvider的pageParam和sortParam参数:

 $firstDataProvider->pagination->pageParam = 'first-dp-page';
 $firstDataProvider->sort->sortParam = 'first-dp-sort';

 $secondDataProvider->pagination->pageParam = 'second-dp-page';
 $secondDataProvider->sort->sortParam = 'second-dp-sort';

您必须在 ActiveDataProvider 中的 pagination 中设置 $pageParam:

$dataProvider = new ActiveDataProvider([
        'query' => $query,
        'pagination' => [
             'pageParam' => 'nameOfYourParam',
        ],
        'sort' => [
             'sortParam' => 'nameOfYourSortParam'
        ]
    ]);

pagination 中的 $pageSizeParam 相同。