2016-09-16 17 views
0

yii2グリッドビューで合計を実行しようとしています。私は以下で試しましたが、私は期待された結果を得られません。データはアクティブデータプロバイダからのものです。Yii2グリッドビューの累積/ランニング合計

$runningtotal = 0; 

echo GridView::widget([ 
'dataProvider' => $dataProvider, 
'filterModel' => $searchModel, 
'pjax' => true, 
'columns' => [ 

    [ 
     'class' => '\kartik\grid\DataColumn', 
     'attribute' => 'pax', 
     'format' => 'decimal', 
     'pageSummary' => true 
    ], 
    [ 
     'value' => function ($model, $key, $index, $widget) use($runningtotal){ 
      $runningtotal+= ($model->pax); 
      return $runningtotal; 
     }, 
     'class' => '\kartik\grid\DataColumn', 
     'label' => 'Running Total', 
     'attribute' => 'paxtotal', //'format' => 'decimal', 
    ], 
], 
]); 

このグリッドビューでは、実行中の合計が問題です。

答えて

1

これが機能しない理由は、useが値で変数に渡され、参照ではないということです。基準使用&によって変数を渡す

'value' => function ($model, $key, $index, $widget) use (&$runningtotal) {