Kartik GridView中的百分比格式(yii2)

时间:2016-12-06 02:50:19

标签: yii yii2-advanced-app yii-extensions yii-components yii2-basic-app

我正在做一个如何计算yii2总计的项目。当我正在构建项目时,当我将数据输入为格式百分比时,我发现了问题。当我保存数据时,索引看起来是2,300%,即使它是23%。我能做什么? 在我看来,格式如此'格式'=> ['百分比',],

enter image description here 这是我的代码

<?php

use yii\helpers\Html;
use kartik\grid\GridView;

/* @var $this yii\web\View */
/* @var $searchModel backend\models\LaporanSearch */
/* @var $dataProvider yii\data\ActiveDataProvider */

$this->title = 'Laporans';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="laporan-index">

    <h1><?= Html::encode($this->title) ?></h1>
    <?php // echo $this->render('_search', ['model' => $searchModel]); ?>

    <p>
        <?= Html::a('Create Laporan', ['create'], ['class' => 'btn btn-success']) ?>
    </p>
    <?= GridView::widget([
        'dataProvider' => $dataProvider,
        'filterModel' => $searchModel,
            'showPageSummary'=>true,

        'columns' => [
            ['class' => 'kartik\grid\SerialColumn'],

           // 'id',
           // 'inv_no',
           // 'inv_date',
            //'rate',
             [
            'attribute'=>'kode_customer',
           // 'width'=>'150px',
            //'hAlign'=>'right',
          //  'format'=>['decimal', 0],
        ],
            // 'kode_item',
            // 'qty',
            // 'price',
            // 'ed',
             ['attribute'=>'total_price',
            'pageSummary'=>true
],
            // 'dsc',
['attribute'=>'total_dsc',
            'pageSummary'=>true
],            // 'trans',
['attribute'=>'total_trans',
            'pageSummary'=>true
],             
['attribute'=>'total_margin_rp',
            'pageSummary'=>true
],             
['attribute'=>'total_margin_persen',
            'pageSummary'=>true,
           // 'groupSeparator' => '.',
            'format'=>['percent',],



],            // 'kode_area',

            ['class' => 'kartik\grid\ActionColumn'],
        ],
    ]); ?>
</div>

1 个答案:

答案 0 :(得分:0)

您遇到的问题可能是由于您已将实际百分比值存储在数据库中。例如,您的23%实际上是数据库表中的数字23。

如果你在这里查看Yii2中格式化百分比的文档(http://www.yiiframework.com/doc-2.0/yii-i18n-formatter.html#asPercent()-detail),你会看到它说:

  

要格式化的值。它必须是一个因素,例如结果将是0.75   在75%。

因此,为了使您的数据正确显示,您必须提供数据作为因素,使用不同的格式化程序或编写自己的格式化函数。