如何使用ActiveDataprovider在Yii2 GridView中显示数组数据

问题描述 投票:1回答:1

我有一组与此非常相似的数据

$array = [
  'FUNDSCTR' => '10000001' 
  'RCMMTITEM' => 'R400001'
  'YEAR' => '2018'
  'CONSUMA' => 5898257
  'CONSUME' => 30140
  'AVAIL' => 5868117 ]

并在ArrayDataProvider中使用

 $dataProvider = new ArrayDataProvider(['allModels' => $array,]);

gridview中的代码

 <?= GridView::widget([
         'dataProvider' => $dataProvider,
         'columns' => [
                      ['class' => 'kartik\grid\SerialColumn'],
                        [
                            'label' => 'Year',
                            'attribute'=>'YEAR',
                        ],
                        [
                            'label' => 'Fund',
                            'attribute'=>'FUNDSCTR',
                        ],
                         [
                            'label' => 'Item',
                            'attribute'=>'RCMMTITEM',
                        ],
                         [
                            'label' => 'Consumeable',
                            'attribute'=>'CONSUMA',
                        ],
                         [
                            'label' => 'Consumed',
                            'attribute'=>'CONSUME',
                        ],
                        [
                            'attribute'=>'Available',
                            'value'=> 'AVAIL',
                        ],
                    ]);
                ?>
      </div>

结果qazxsw poi

的print_r($数据提供程序); 〜$数组返回

enter image description here

我需要像这样在gridView数据中显示。

yii\data\ArrayDataProvider Object ( [key] => [allModels] => Array ( [RFUNDSCTR] => 10000001 [RCMMTITEM] => R400013 [RYEAR] => 2018 [CONSUMA] => 5898257 [CONSUME] => 30140 [AVAIL] => 5868117 )

php arrays gridview yii2
1个回答
2
投票

要正常工作,传递给ArrayDataProvider的数组应该是二维的,如下所示:

enter image description here
© www.soinside.com 2019 - 2024. All rights reserved.