2016-09-16 9 views
0

Ich versuche zu erreichen, insgesamt in yii2 Rasteransicht zu laufen. Ich habe es unten versucht, aber ich kann das erwartete Ergebnis nicht ganz erreichen. Die Daten stammen von einem aktiven Datenprovider.Kumulative/Laufende Summe in Yii2 gridview

$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', 
    ], 
], 
]); 

Meine Herausforderung ist die laufende Summe auf dieser Gridview.

Antwort

1

Der Grund, warum dies nicht funktioniert ist, dass use in Variablen nach Wert und keine Referenz übergeben.

Um in einer Variablen durch Bezugnahme Verwendung geben &:

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