如何在 kartik gridView 中显示数组数据

how to show array data in kartik gridView

这是默认代码

GridView::widget([
    'dataProvider' => $dataProvider,
    'filterModel' => $searchModel,
    'columns' => [
        ['class' => 'yii\grid\SerialColumn'],

现在我希望网格视图显示数组中的数据。我怎样才能做到这一点 ?这与 gridView 的 dataprovider 属性 有关吗?

只需在 controller/action

中构建合适的数据提供者

在这种情况下,您需要 arrayDataProvider 就像 Yii2 指南中的展示

并渲染例如

    use yii\data\ArrayDataProvider;

    ......


    public function actionYourAction()
    { 

        $data = [
            ['id' => 1, 'name' => 'name 1', ...],
            ['id' => 2, 'name' => 'name 2', ...],
            ...
            ['id' => 100, 'name' => 'name 100', ...],
        ];

        $datProvider = new ArrayDataProvider([
            'allModels' => $data,
            'pagination' => [
                'pageSize' => 10,
            ],
            'sort' => [
                'attributes' => ['id', 'name'],
            ],
        ]);


          return $this->render('yourView', [
            'dataProvider' => $dataProvider,
        ]);
    }