我试图在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',
],
],
]);
我的挑战是在此gridview上运行总计。
答案 0 :(得分:3)
这不起作用的原因是use
按值传递变量而不是引用。
要通过引用传递变量,请使用&
:
'value' => function ($model, $key, $index, $widget) use (&$runningtotal) {