ITwoolf
@ITwoolf

Как заменить GridView на DynaGrid?

Добрый день. Я, конечно, умею гуглить. Но в инете мало информации о DynaGrid и в основном все на англ. Переводил и смотрел, но толком ничего не понял как заменить GridView на DynaGrid в своем Index.php.
Я уже загрузил через композер картик и сам DynaGrid. Перепробовал несколько вариантов и провал.
Вот мой изначальный код GridView:

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

        'columns' => [

            ['class' => 'yii\grid\SerialColumn'],

            'id',
            'name',

            ['attribute'=>'description',
            'label'=>'Описание', ],

            [
                'attribute'=>'id_avtor1',
                'label'=>'Автор',
                'format'=>'text',
                'content'=>function($data){
                    return $data->getAvtor1Name();
                },
                'filter' => [ '1' => 'Джоан Роулинг', '2' => 'Стивен Кинг', '3' => 'Джон Рональд Руэл Толкин'],

            ],

            ['attribute' =>
                'creation_date',
              'value'=>'creation_date',
                'content'=>function($data){
                    return Yii::$app->formatter->asDatetime($data->creation_date);
                },
                'format'=>'raw',
                'filter'=>DatePicker::widget([
                        'model'=>$searchModel,
                        'attribute'=>'creation_date',
                        'clientOptions'=>[
                                'autoclose'=>true,
                                'format'=>'yyyy-mm-dd',

                        ]

                    ]
                )
            ],

            ['attribute' => 'date_of_change',
                'value'=>'date_of_change',
                'content'=>function($data){
                    return Yii::$app->formatter->asDatetime($data->date_of_change);
                },
                'format'=>'raw',
                'filter'=>DatePicker::widget([
                        'model'=>$searchModel,
                        'attribute'=>'date_of_change',
                        'clientOptions'=>[
                            'autoclose'=>true,
                            'format'=>'yyyy-mm-dd',

                        ]

                    ]

                )
            ],

            ['class' => 'yii\grid\ActionColumn'],
        ],
    ]); ?>
  • Вопрос задан
  • 451 просмотр
Решения вопроса 1
myks92
@myks92 Куратор тега Yii
Нашёл решение — пометь вопрос ответом!
1. Добавьте в кофигурацию DynaGrid как модуль
'modules'=>[
   'dynagrid'=> [
        'class'=>'\kartik\dynagrid\Module',
        // other module settings
    ],
    'gridview'=> [
        'class'=>'\kartik\grid\Module',
        // other module settings
    ],
];


2. Используйте в своем приложении
<?= \kartik\dynagrid\DynaGrid::widget([
    'columns' => $columns,
    'theme'=>'panel-warning',
    'gridOptions'=>[
        'dataProvider'=>$dataProvider,
        'filterModel'=>$searchModel,
        'showPageSummary'=>true,
        'panel'=>[
            'heading'=>'<h3 class="panel-title"><i class="glyphicon glyphicon-book">  Library',
            'before'=>'{dynagrid}' . Html::a('Custom Button', '#', ['class'=>'btn btn-secondary'])
        ],
    ]
]); ?>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы