2015-03-21 6 views
3

Я установил расширение экрана сетки Kartik, которое отлично работает.Yii2: Kartik Gridview сумма столбца в нижнем колонтитуле

Но я не мог найти или пропустить его в документах, как я могу показать сумму столбца в нижнем колонтитуле.

Это мой полный код в index.php

<?php 
     $gridColumns = [ 
    ['class' => 'yii\grid\SerialColumn'], 
    'id', 
    [ 
     //'attribute'=>'service_name', 
     'attribute'=>'service_name', 
     'value'=>'serviceName.services',     
    ], 
    [ 
     'attribute'=>'room_category', 
     'value'=>'roomCategory.room_category' 
    ], 
     'charges_cash', 
     'charges_cashless', 
    ['class' => 'yii\grid\ActionColumn'] 
]; 

    echo ExportMenu::widget([ 
    'dataProvider' => $dataProvider, 
    'columns' => $gridColumns, 
    'fontAwesome' => true, 
    'showPageSummary' => true, 
    'dropdownOptions' => [ 
     'label' => 'Export All', 
     'class' => 'btn btn-default' 
    ] 
]) 
     ?> 
    </div></div> 


    <?= GridView::widget([ 
     'dataProvider' => $dataProvider, 
     'filterModel' => $searchModel, 
     'columns' => [ 
      ['class' => 'yii\grid\SerialColumn'], 

      'id', 
      //'service_name', 
      [ 
       //'attribute'=>'service_name', 
       'attribute'=>'service_name', 
       'value'=>'serviceName.services', 

      ], 
      // 'room_category', 
      [ 
       'attribute'=>'room_category', 
       'value'=>'roomCategory.room_category' 
      ], 
      'charges_cash', 
      'charges_cashless', 

      ['class' => 'yii\grid\ActionColumn'], 
     ], 
     'showFooter' => true 
    ]); ?> 

</div> 

Ищет некоторую помощь на этом. Спасибо.

ответ

3

Думаю, вам просто нужно добавить сводку страницы;

use kartik\grid\GridView; 

// Create a panel layout for your GridView widget 
echo GridView::widget([ 
    'dataProvider'=> $dataProvider, 
    'filterModel' => $searchModel, 
    'columns' => $gridColumns, 
    'showPageSummary' => true 
]); 

Картик описывает это очень хорошо в demo и плагинов деталей.

+3

Спасибо - Но мне также пришлось добавить 'pageSummary => true' в соответствующий атрибут, чтобы заставить его работать. – Pawan

1

Полный пример:

 GridView::widget([ 
      'dataProvider'=> $dataProvider, 
      'filterModel' => $searchModel, 
      'columns' => [ 

      [ 
     'class' => 'kartik\grid\ActionColumn', 
     'urlCreator' => function($action, $model, $key, $index) { 
      // using the column name as key, not mapping to 'id' like the standard generator 
      $params = is_array($key) ? $key : [$model->primaryKey()[0] => (string) $key]; 
      $params[0] = \Yii::$app->controller->id ? \Yii::$app->controller->id . '/' . $action : $action; 
      return Url::toRoute($params); 
     }, 
     'contentOptions' => ['nowrap'=>'nowrap'] 
    ], 
     'id', 
     'name', 

[ 

'attribute'=>'total_quantity', 
'pageSummary' => true 

], 

[ 

'attribute'=>'quantity_sold', 
'pageSummary' => true 

], 

    ], 
      'showPageSummary' => true 
    ]); 

Примечание: переименуйте класс столбцов из юй \ сетки Картик \ сетки \. Это относится к DataColum, ActionColumn и т. Д.

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