Не работает редактируемая колонка kartik\grid\EditableColumn, с данными которые приходят ajax запросом

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Benzema
Сообщения: 4
Зарегистрирован: 2018.08.16, 17:25

Не работает редактируемая колонка kartik\grid\EditableColumn, с данными которые приходят ajax запросом

Сообщение Benzema »

Есть две таблицы GridView. С первой таблицей, где данные приходят c помощью ajax не работает редактируемая колонка kartik\grid\EditableColumn, Со второй таблицей, где данные приходят без ajax все работает. Что можно сделать, чтобы EditableColumn работал с данными переданными ajax запросом? Вот часть кода GridView с полями:

Код: Выделить всё

<?= GridView::widget([
    'dataProvider' => $dataProvider,
    'filterModel' => $searchModel,
    'id' => 'color-group-grid',
    'columns' => [        

        'id',
        [
            'class' => 'kartik\grid\EditableColumn',
            'attribute' => 'name',
            'editableOptions' => [
                'header' => '<br><b>Название</b>',
            ],
            'value' => function ($model) {
                return $model->name;
            },
        ],
        ['class' => 'yii\grid\ActionColumn',
        'template' => '{delete}']
    ],
]); ?>
Скрипт с ajax запросом

Код: Выделить всё

$('#color-group-grid table tbody tr:first').addClass('success');

$(document.body).on('click', '#color-group-grid table tbody tr' , function() 
{
  $('#color-group-grid tbody tr').removeClass('success');
  $(this).addClass('success');

  var id = $(this).closest("tr").attr("data-key");
  $.ajax  ({
           url: urlColorGroupDataKey, :roll: 
           type: 'GET',
           data: "id="+id,              
           // data: a,
           success: function(rest) {
               console.log(rest);              
               $('#transfer-success').html(rest);
           },
       });
:roll: :roll: :roll:
Toshus
Сообщения: 14
Зарегистрирован: 2018.06.06, 21:06

Re: Не работает редактируемая колонка kartik\grid\EditableColumn, с данными которые приходят ajax запросом

Сообщение Toshus »

Покажите, пожалуйста, код action-а в контроллере, который возвращает этот грид по ajax. Скорее всего, у Вас не выполняется связанный с виджетом JavaScript-код.
uEhlO4a
Сообщения: 70
Зарегистрирован: 2017.08.12, 19:19

Re: Не работает редактируемая колонка kartik\grid\EditableColumn, с данными которые приходят ajax запросом

Сообщение uEhlO4a »

скрипт впринципе не нужен

1. указываешь ИД
<?php Pjax::begin(['id' => 'pjax-gridview']); ?>

2. пишешь в столбце, где искать
<?php Pjax::begin(['id' => 'pjax-gridview']); ?>
<?= GridView::widget([
'columns' => [
[
'class' => kartik\grid\EditableColumn::class,
'refreshGrid' => true,
'editableOptions' => [
'formOptions' => ['action' => ['/SOME/URL']], <----- ЭТО
'pjaxContainerId' =>'pjax-gridview', <--- ЭТО


смотри http://demos.krajee.com/editable#settings
формат данных тут http://demos.krajee.com/editable#ajax
Ответить