0

Я делаю проект, как рассчитать общее количество в yii2. Когда я создаю проект, я обнаружил проблемы, когда я вводил данные в формате процента. Когда я сохраняю данные, в индексе выглядят 2300%, хотя это 23%. Что я могу сделать? На мой взгляд, формат как this'format '=> [' процент»],Процентный формат в Kartik GridView (yii2)

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>

+0

, пожалуйста, покажите мне реальное значение ценности total_margin_persen вашего db – scaisEdge

ответ

0

Проблема у вас есть, вероятно, из-за к тому факту, что вы сохранили фактическое процентное значение в базе данных. Например, ваш 23% на самом деле номер 23 в вашей таблице базы данных.

Если вы посмотрите документацию на процент форматировщика в Yii2 здесь (http://www.yiiframework.com/doc-2.0/yii-i18n-formatter.html#asPercent()-detail) вы увидите, что он говорит:

Значение для форматирования. Он должен быть фактором, например. 0,75 приведет к в 75%.

Таким образом, чтобы ваши данные отображались правильно, вам необходимо предоставить данные как фактор, использовать другой форматтер или написать собственную функцию форматирования.

Смежные вопросы