如何使用 ActiveDataprovider 在 Yii2 GridView 中显示数组数据
How to display array data in Yii2 GridView using ActiveDataprovider
我有一组与此非常相似的数据
$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>
结果
print_r($dataProvider); ~ $数组 return
yii\data\ArrayDataProvider Object ( [key] => [allModels] => Array ( [RFUNDSCTR] => 10000001 [RCMMTITEM] => R400013 [RYEAR] => 2018 [CONSUMA] => 5898257 [CONSUME] => 30140 [AVAIL] => 5868117 )
我需要像这样在 gridView 中显示数据。
要正常工作,传递给 ArrayDataProvider 的数组应该是二维的,如下所示:
$array = [
[
'FUNDSCTR' => '10000001',
'RCMMTITEM' => 'R400001',
'YEAR' => '2018',
'CONSUMA' => 5898257,
'CONSUME' => 30140,
'AVAIL' => 5868117,
],
[
'FUNDSCTR' => '10000001',
'RCMMTITEM' => 'R400001',
'YEAR' => '2018',
'CONSUMA' => 5898257,
'CONSUME' => 30140,
'AVAIL' => 5868117,
],
[
'FUNDSCTR' => '10000001',
'RCMMTITEM' => 'R400001',
'YEAR' => '2018',
'CONSUMA' => 5898257,
'CONSUME' => 30140,
'AVAIL' => 5868117,
]
];
我有一组与此非常相似的数据
$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>
结果
print_r($dataProvider); ~ $数组 return
yii\data\ArrayDataProvider Object ( [key] => [allModels] => Array ( [RFUNDSCTR] => 10000001 [RCMMTITEM] => R400013 [RYEAR] => 2018 [CONSUMA] => 5898257 [CONSUME] => 30140 [AVAIL] => 5868117 )
我需要像这样在 gridView 中显示数据。
要正常工作,传递给 ArrayDataProvider 的数组应该是二维的,如下所示:
$array = [
[
'FUNDSCTR' => '10000001',
'RCMMTITEM' => 'R400001',
'YEAR' => '2018',
'CONSUMA' => 5898257,
'CONSUME' => 30140,
'AVAIL' => 5868117,
],
[
'FUNDSCTR' => '10000001',
'RCMMTITEM' => 'R400001',
'YEAR' => '2018',
'CONSUMA' => 5898257,
'CONSUME' => 30140,
'AVAIL' => 5868117,
],
[
'FUNDSCTR' => '10000001',
'RCMMTITEM' => 'R400001',
'YEAR' => '2018',
'CONSUMA' => 5898257,
'CONSUME' => 30140,
'AVAIL' => 5868117,
]
];