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

时间:2017-09-27 13:07:56

标签: php yii2 kartik-v

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

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

感谢。

2 个答案:

答案 0 :(得分:2)

一页上有多个网格

每个Yii2小部件都有很多封装,使用多个GridView小部件是一个简单的活动,只需要进行一些更改。

使用DataProvider模型类无法自定义的唯一参数是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';

答案 1 :(得分:2)

您必须在$pageParam的{​​{1}}中设置pagination

ActiveDataProvider

$dataProvider = new ActiveDataProvider([ 'query' => $query, 'pagination' => [ 'pageParam' => 'nameOfYourParam', ], 'sort' => [ 'sortParam' => 'nameOfYourSortParam' ] ]); 中的$pageSizeParam相同。