Есть ли решение для динамичного отображения столбцов в GridView Yii2?

Да, в Yii2 есть решение для динамичного отображения столбцов в GridView, это делается с помощью использования виджета "yiigridGridView" и дополнительными настройками.

Перед тем, как начать использовать динамическое отображение столбцов, необходимо иметь массив данных и определить массив столбцов, который будет отображаться в GridView. Затем, можно использовать метод "columns" у виджета "yiigridGridView", чтобы определить столбцы.

Однако, если требуется динамически отображать или скрывать столбцы в зависимости от определенных условий, нужно использовать дополнительные функции, такие как "visible" или "format".

Например, чтобы изменить отображение столбцов в зависимости от значения в ячейке, можно использовать функцию "format". Ниже приведен пример, показывающий, как это можно сделать:

use yiigridGridView;

<?= GridView::widget([
    'dataProvider' => $dataProvider,
    'columns' => [
        'id',
        'name',
        [
            'attribute' => 'status',
            'format' => 'raw',
            'value' => function($data) {
                return $data->status == 1 ? 'Active' : 'Inactive';
            },
        ],
        [
            'class' => 'yiigridCheckboxColumn',
            'visible' => Yii::$app->user->can('admin'),
        ],
    ],
]); ?>

В этом примере мы использовали функцию "format" для изменения формата отображения столбца "status" в зависимости от значения в соответствующей ячейке. Также, мы использовали свойство "visible" для скрытия столбца "CheckboxColumn" в зависимости от того, является ли пользователь администратором.

Кроме того, можно использовать другие функции и настройки, такие как "visibleColumns", "headerOptions", "contentOptions" и т.д., чтобы более гибко настроить отображение столбцов в GridView.