Yii2 два вида сетки с редактируемыми столбцами в одной форме

Я хотел бы показать два Kartik’s Gridviews (с редактируемые столбцы) в пределах одной формы.

Проблема в том, что если я хочу отредактировать значение во втором виде сетки, откроется редактируемое всплывающее окно для строки ответа на первый вопрос в первом виде сетки.

Что касается html, то идентификаторы редактируемых файлов одинаковы для двух видов сетки.

Картина из двух видов сетки; редактируемый во второй сетке нажал.

Определение двух видов сетки в представлении:

echo GridView::widget([
'id' => 'your_gridview_one',
'dataProvider'=>$dataProvider,
'columns'=>$gridColumns,
//'filterModel' => $searchModel,
'showHeader' => true,
]);

echo GridView::widget([
'id' => 'your_gridview_two',
'dataProvider'=>$secondDataProvider,
'columns'=>$gridColumns,
//'filterModel' => $searchModel,
'showHeader' => true,
]);

Как я могу изменить идентификаторы редактируемых файлов?

0

Решение

Вы не можете использовать один и тот же $ gridColumns в обоих GridView. Вы должны дать форме (редактируемому всплывающему окну) и полю ввода в ней уникальный HTML-идентификатор. Что-то похожее:

[
'class' => 'kartik\grid\EditableColumn',
'attribute' => 'name',
'editableOptions' => function ($model, $key, $index) {
return [
'formOptions' => [
'id' => 'gv1_' . $model->id . '_form_name',
'action' => \yii\helpers\Url::to(['recipe-lang/index'])
],
'options' => [
'id' => 'gv1_' . $model->id . '_name',
],
];
},
],
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]