0

フッターに行の値の合計を表示したい。

いくつかの方法を試しましたが、適切な結果が表示されません。

どんな助けも非常に高く評価されます。

私はカルティックグリッドを使用しています。

私はこれを試しましたYii2: Kartik Gridview sum of a column in footer

私の場合はうまくいきません。

$gridColumns = [
    [
        'class' => 'kartik\grid\SerialColumn',
        'contentOptions' => ['class' => 'kartik-sheet-style'],
        'width' => '36px',
        'header' => '',
        'headerOptions' => ['class' => 'kartik-sheet-style']
    ],
    [ 
        'attribute' => 'vno',
        'footer'=>'Total'
    ],

    [
        'attribute' => 'fliters',
        'label' => 'Total Fuel Consumption Liters',
        'footer'=> true   // Here i want to display the sum of column filer ( Note : the value in grid of filter is a sum(fuel_liters)  )
    ],
    [
        'attribute' => 'fuel_rate',
        'label' => 'Fuel Rate (Per Ltr.)',
        'pageSummary'=>true,
        'footer'=>true      // Here i want to display the sum of column fuel_rate ( Note : the value in grid of filter is a sum(fuel_rate)  )
    ],
    [
        'attribute' => 'famt',
        'label' => 'Total Fuel Consumption Amount',
         'pageSummary'=>true,
        'footer'=>true  // Here i want to display the sum of column fuel_amount ( Note : the value in grid of filter is a sum(fuel_amount)  )
    ],
];

echo GridView::widget([
    'dataProvider'=> $dataProvider,
    'filterModel' => $searchModel,
    'columns' => $gridColumns,
    'showPageSummary' => true
]);

これまでのところ、フッターに合計を印刷することができました

私は私のコントローラーです

 $total_ltrs = FuelConsumption::find()->sum('fuel_liters');
            $total_amt  = FuelConsumption::find()->sum('fuel_amount');
            $total_rate = FuelConsumption::find()->sum('fuel_rate');


            return $this->render('petrol-report', [
                    'total_ltrs' => $total_ltrs,
                    'total_amt' => $total_amt,
                    'total_rate' => $total_rate,
                    'model' => $model,
                    'searchModel' => $searchModel,
                    'dataProvider' => $dataProvider,
            ]);

そして、すべてのフッター'footer'=>$total_ltrs 'footer'=>$total_rateにそれぞれ渡されます。'footer'=>$total_amt

From Date と TO Date を検索すると、フィルターごとに結果がグリッドに表示されます。

ただし、フッターの合計の結果は変更されません。グリッドにある行だけをいくつか実行したいと思います。

誰でもこれについて私を助けることができますか??

4

1 に答える 1