小编goj*_*aki的帖子

Yii2 gridview自定义列值

我想在一列中显示我交易表中一个/所有帐户的总余额。余额列应显示余额加上前一行的总余额。我的GridView代码是

<?php
     $gridColumns = [
        ['class' => 'yii\grid\SerialColumn'],
                        'account_no',
                        'credit',
                        'debit',
                        [
                            'label' => 'Balance',

                            'value' => function ($model) {
                                return $model::Balance();
                            }
                        ],
                        'created_date:date',
     ];
?>
Run Code Online (Sandbox Code Playgroud)

我模型中的代码如下。我可以通过对Deptransaction :: findOne(1)进行硬编码来获取第一行值。

public static function Balance()
    {

            $data = DepTransaction::find();

                if($data->credit != 0){ 
         $cap_bal = $cap_bal +($data->credit - $data->debit);            
                }

                if($data->debit != 0){  
                    $int_bal = $int_bal + ($data->credit - $data->debit);  

                }
            $total = $cap_bal+$int_bal;

        return $total;
    }
Run Code Online (Sandbox Code Playgroud)

我想显示这样的结果 在此处输入图片说明

我在gridview中尝试了以下代码,但仅显示单个行的余额

'value' => function($data) {
                                if($data['head_type']=="CAP"){ 
                                    $cap_bal = $cap_bal +($data['credit']-$data['debit']);           
                                }

                                if($data['head_type']=="INT"){  
                                    $int_bal = …
Run Code Online (Sandbox Code Playgroud)

gridview yii2

3
推荐指数
2
解决办法
2万
查看次数

标签 统计

gridview ×1

yii2 ×1