Yii2 Pjax分页在多个Gridview上不起作用

时间:2018-06-29 06:20:48

标签: php yii2

具有一页2 Gridview表。分页无法正常工作,

以下是代码:

// table 1
 <?php Pjax::begin(['id'=>'table_1']); ?>
                 <?= GridView::widget([
                  // 
                  ]); ?>
 <?php Pjax::end(); ?>
// Table 2
 <?php Pjax::begin(['id'=>'table_2']); ?>
                 <?= GridView::widget([
                  // 
                  ]); ?>
 <?php Pjax::end(); ?>

1 个答案:

答案 0 :(得分:1)

the guide中已经对此进行了解释,在此引用。

  

您可以在单个页面上使用多个GridView,但是需要一些其他配置,以防止它们彼此干扰。当使用GridView的多个实例时,必须为生成的排序和分页链接配置不同的参数名称,以便每个GridView都有自己的单独的排序和分页。您可以通过设置dataProvider的sort和pagination实例的sortParam和pageParam来实现。

在您的情况下:

use yii\grid\GridView;

$tbl1Provider->pagination->pageParam = 'tbl1_page'; 
$tbl2Provider->pagination->pageParam = 'tbl2_page'; 

echo GridView::widget([
    'dataProvider' => $tbl1Provider,
]);

echo GridView::widget([
    'dataProvider' => $tbl2Provider,
]);