Проблемы экспорта с сеткой просмотра Картика, загруженной с ExpandRowColumn - PullRequest
0 голосов
/ 10 июня 2018

Я рендерим Kartik's Gridview , который загружает другой Gridview через ajax с помощью ExpandRowColumn виджета.

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

Это первая сетка:

`` `

GridView::widget([
        'dataProvider' => $dataProvider,
        'filterModel' => false,
        'columns' => [
            [
                'class' => 'kartik\grid\ExpandRowColumn',
                'value' => function ($model, $key, $index) { 
                    return GridView::ROW_COLLAPSED;
                },
                'detailUrl' => Url::to(['ajax-riepilogo', 'idf' => $f]),
            ],
            'descrizione',
        ],
    ]);

```

И это тот, который генерируется в ajax-riepilogo:

`` `

GridView::widget([
        'dataProvider' => $secondDataProvider,
        'id' => 'grid-riepilogo',
        'panel' => [
            'type' => 'primary',
            'heading' => false,
        ],
        'toolbar' => ['{export}'],
        'export' => [
            'showConfirmAlert' => false,
            'target' => GridView::TARGET_BLANK,
            'exportConfig' => [
                GridView::CSV => [
                    'filename' => "riepilogo',
                ],
                GridView::EXCEL => [
                    'filename' => "riepilogo',
                ],
            ],
        ],
        'summary' => false,
        'filterModel' => false,
        'columns' => [
           ...

` ``

1 Ответ

0 голосов
/ 13 июня 2018

Две ошибки:

  1. id должен быть уникальным для каждой сетки на странице
  2. атрибут конфигурации exportConfig должен иметь верхний уровень

Рабочая конфигурация:

     GridView::widget([
    'dataProvider' => $secondDataProvider,
    'id' => 'grid-riepilogo-'.$unique,
    'panel' => [
        'type' => 'primary',
        'heading' => false,
    ],
    'toolbar' => ['{export}'],
    'export' => [
        'showConfirmAlert' => false,
        'target' => GridView::TARGET_BLANK,
    ],
    'exportConfig' => [
        GridView::CSV => [
            'filename' => "riepilogo',
        ],
        GridView::EXCEL => [
            'filename' => "riepilogo',
        ],
    ],
    'summary' => false,
    'filterModel' => false,
    'columns' => [
       ...
...