我在同一页面上有两个kartik\grid\GridView
个分页表。当我改变第一张表的页面时,第二张表也改变了它的页面。他们共享相同的$_GET
参数page
和per-page
。
设置分页的任何选项都可以获取变量名称或任何其他方法来解决此问题。
感谢。
答案 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
相同。