【问题标题】:Yii2 Gridview column summary based on calculated child valueYii2 Gridview 列汇总基于计算的子值
【发布时间】:2018-06-07 07:27:28
【问题描述】:

我正在尝试根据计算的子值计算GridView 中的列摘要。如何实现?

在视图中:

<?= GridView::widget([
        'dataProvider' => $dataProvider,
        'filterModel' => $searchModel,
        'showFooter' => true,
        'columns' => [
            [
                'header' => 'Any header',
                'value' => function ($model){return $model->sumChildvalue();},
                'footer' => 'VALUE SHOULD BE CALCULATED HERE...',

            ],
        ],
    ]); ?>

我相信我可以在模型中运行一个函数,为$dataProvider 中的每个模型重新计算sumChildvalue(),但这似乎效率不高。

【问题讨论】:

    标签: gridview yii2


    【解决方案1】:

    您可以只从外部传递值,它可以在启动 GridView::widget 之前计算,因此您可以在之前迭代 $dataProvider->models。

    <?php
    $footerValue = 0;
    foreach ($dataProvider->models as $model) {
        $footerValue += $model->value;
    }
    ?>
    
    <?= GridView::widget([
            'dataProvider' => $dataProvider,
            'filterModel' => $searchModel,
            'showFooter' => true,
            'columns' => [
                [
                    'header' => 'Any header',
                    'value' => function ($model){
                          return $model->sumChildvalue();
                     },
                    'footer' => $footerValue, // Pass the value here
    
                ],
            ],
        ]); ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多