Как можно реализовать вставку строки в GridView от Kartik?
Как можно реализовать вставку строки в GridView от Kartik?
Собственно сам вопрос в названии темы.
Последний раз редактировалось webgrig 2017.07.09, 12:09, всего редактировалось 2 раза.
Re: Как можно реализовать добавление новой строки в GridView от Kartik?
Записать в базу и обновить pjax
Как можно реализовать добавление новой строки в GridView от Kartik?
Нет вопрос не в этом.
Меня интересует как в GridView динамически добавить новую строку при нажатии на кнопку "Добавить item" с пустыми значениями полей, которые тут же можно было бы отредактировать прямо в GridView-таблице и потом сохранить.
В Yii/GridView мы для этого переходили на другую страницу где заполняли все поля и сохраняли запись.
А я хочу это все делать без перехода на отдельную страницу, прямо в GridView-таблице.
Re: Как можно реализовать вставку строки в GridView от Kartik?
Ну тебе javascript нужен по-любому. GridView генерит обычную таблицу table, работай с ней из JavaScript Хотя проще дёрнуть ещё раз всю таблицу AJAX-ом, я обычно так и делаю
Re: Как можно реализовать вставку строки в GridView от Kartik?
Обернуть форму и грид в пиджак
Код: Выделить всё
Pjax::begin([
'formSelector' => '#new-item-form'
])
?>
<?php $form = \yii\bootstrap\ActiveForm::begin([
'layout' => 'inline',
'id' => 'new-item-form'
])?>
<?= $form->field($model, 'column1')?>
<?= $form->field($model, 'column2')?>
<?= $form->field($model, 'column3')?>
<button type="submit" class="btn btn-default">Добавить элемент в таблицу</button>
<?php \yii\bootstrap\ActiveForm::end();?>
<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
'column1',
'column2',
'column3',
],
]); ?>
<?php
Pjax::end();