我正在使用带有SqlDataProvider的Yii2和Kartik GridView,并且我试图让toggleData按钮工作 . 我期望的是,当点击它时会显示所有记录,但它只显示第一页并删除分页按钮 . 我没有看到任何使用SqlDataProvider的例子,这就是为什么我有点担心它不起作用 .

这是我控制器的简化部分:

$query = Entryrecord::find();
$count = Yii::$app->db->createCommand('SELECT COUNT(*) FROM (' . $query->createCommand()->getRawSql() . ') as count_alias')->queryScalar();
$dataProvider = new SqlDataProvider([
    'sql' => $query->createCommand()->getRawSql(), 
    'totalCount' => $count,
    'pagination' => [
              'pageSize' => 10,
        ], 
]);
return $dataProvider;

在视图中

$gridColumns = [
      'id',
      'created_date'
  ];

  echo GridView::widget([
    'dataProvider' => $dataProvider,
    'filterModel' => $searchModel,
    'columns' => $gridColumns,
    'panel' => [
        'type' => GridView::TYPE_PRIMARY,
        'heading' => 'Records',
    ],
    'pjax' => true,
    'pjaxSettings' => ['options' => ['id' => 'kv-pjax-container']],
    // your toolbar can include the additional full export menu
    'toolbar' => [
        '{toggleData}',
        '{export}',
    ],
  ]);

由于某种原因,它不会显示完整的结果列表 .

任何帮助都会很棒 . 谢谢 .