kartik\grid\FormulaColumn не пересчитывается

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
IIIKET
Сообщения: 116
Зарегистрирован: 2015.06.10, 16:38
Откуда: Kharkiv
Контактная информация:

kartik\grid\FormulaColumn не пересчитывается

Сообщение IIIKET » 2017.03.28, 21:54

Доброго времени суток.

Делаю kartik\grid\GridView с вычесляемыми поями. После редактирования зависемого поля вычисляемое не меняется. Код:

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

[
                        'class' => 'kartik\grid\EditableColumn',
                        'attribute' => 'count',
                        'editableOptions' => [
                            'name' => 'count',
                            'header' => 'Count',
                            'inputType' => \kartik\editable\Editable::INPUT_SPIN,
                            'options' => [
                                'pluginOptions' => ['min' => 0, 'max' => 100],
                            ],
                        ],
                        'hAlign' => 'left',
                        'vAlign' => 'middle',
                    ],
                    [
                        'class' => 'kartik\grid\EditableColumn',
                        'attribute' => 'price',
                        'editableOptions' => [
                            'name' => 'price',
                            'header' => 'Price',
                            'inputType' => \kartik\editable\Editable::INPUT_TEXT,
                        ],
                        'hAlign' => 'left',
                        'vAlign' => 'middle',
                    ],
                    [
                        'class' => 'kartik\grid\FormulaColumn',
                        'header' => 'Total',
                        'value' => function ($model, $key, $index, $widget) {
                            $p = compact('model', 'key', 'index');
                            return $widget->col(2, $p) * $widget->col(3, $p);
                        },
                        'hAlign' => 'right',
                        'vAlign' => 'middle',
                    ],
Само редактирование оттестированно и работает на ура. Но как заставить обновится связанное поле, ума не приложу.

rak
Сообщения: 2021
Зарегистрирован: 2010.11.02, 23:40
Контактная информация:

Re: kartik\grid\FormulaColumn не пересчитывается

Сообщение rak » 2017.03.28, 23:01

обновлять grid судя по всему

IIIKET
Сообщения: 116
Зарегистрирован: 2015.06.10, 16:38
Откуда: Kharkiv
Контактная информация:

Re: kartik\grid\FormulaColumn не пересчитывается

Сообщение IIIKET » 2017.03.28, 23:11

rak писал(а):
2017.03.28, 23:01
обновлять grid судя по всему
Имеешь ввиду вручную? Сам он не умеет?

rak
Сообщения: 2021
Зарегистрирован: 2010.11.02, 23:40
Контактная информация:

Re: kartik\grid\FormulaColumn не пересчитывается

Сообщение rak » 2017.03.28, 23:37

IIIKET писал(а):
2017.03.28, 23:11
Имеешь ввиду вручную? Сам он не умеет?
а с чего бы ему уметь? при инлайновом редактировании обновляется одна ячейка, а не весь грид

urichalex
Сообщения: 955
Зарегистрирован: 2015.08.07, 11:03

Re: kartik\grid\FormulaColumn не пересчитывается

Сообщение urichalex » 2017.03.29, 18:54

У EditableColumn есть свойство refreshGrid. Если в гриде указать pjax и refreshGrid в колонке, то он будет обновлять

IIIKET
Сообщения: 116
Зарегистрирован: 2015.06.10, 16:38
Откуда: Kharkiv
Контактная информация:

Re: kartik\grid\FormulaColumn не пересчитывается

Сообщение IIIKET » 2017.03.30, 21:24

urichalex писал(а):
2017.03.29, 18:54
У EditableColumn есть свойство refreshGrid. Если в гриде указать pjax и refreshGrid в колонке, то он будет обновлять

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

Setting unknown property: kartik\editable\Editable::refreshGrid
Как бы мимо...

Пока что решение такое, но думаю можно и лучше:

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

'pluginEvents' => [
     'editableSuccess' => 'function(event, val, form, data) { $.pjax.reload({container:"#order-items-grid"}); }',
],

urichalex
Сообщения: 955
Зарегистрирован: 2015.08.07, 11:03

Re: kartik\grid\FormulaColumn не пересчитывается

Сообщение urichalex » 2017.03.30, 22:01

IIIKET писал(а):
2017.03.30, 21:24
urichalex писал(а):
2017.03.29, 18:54
У EditableColumn есть свойство refreshGrid. Если в гриде указать pjax и refreshGrid в колонке, то он будет обновлять

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

Setting unknown property: kartik\editable\Editable::refreshGrid
Как бы мимо...

Пока что решение такое, но думаю можно и лучше:

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

'pluginEvents' => [
     'editableSuccess' => 'function(event, val, form, data) { $.pjax.reload({container:"#order-items-grid"}); }',
],
Не Editable а EditableColumn
https://github.com/kartik-v/yii2-grid/b ... mn.php#L54

IIIKET
Сообщения: 116
Зарегистрирован: 2015.06.10, 16:38
Откуда: Kharkiv
Контактная информация:

Re: kartik\grid\FormulaColumn не пересчитывается

Сообщение IIIKET » 2017.03.31, 00:37

urichalex писал(а):
2017.03.30, 22:01
IIIKET писал(а):
2017.03.30, 21:24
urichalex писал(а):
2017.03.29, 18:54
У EditableColumn есть свойство refreshGrid. Если в гриде указать pjax и refreshGrid в колонке, то он будет обновлять

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

Setting unknown property: kartik\editable\Editable::refreshGrid
Как бы мимо...

Пока что решение такое, но думаю можно и лучше:

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

'pluginEvents' => [
     'editableSuccess' => 'function(event, val, form, data) { $.pjax.reload({container:"#order-items-grid"}); }',
],
Не Editable а EditableColumn
https://github.com/kartik-v/yii2-grid/b ... mn.php#L54
Мне кажется Вы прост оне читаете, конфиг выше, там ясно указано:
'class' => 'kartik\grid\EditableColumn',

urichalex
Сообщения: 955
Зарегистрирован: 2015.08.07, 11:03

Re: kartik\grid\FormulaColumn не пересчитывается

Сообщение urichalex » 2017.03.31, 00:59

А ошибка что говорит?
Setting unknown property: kartik\editable\Editable::refreshGrid

rak
Сообщения: 2021
Зарегистрирован: 2010.11.02, 23:40
Контактная информация:

Re: kartik\grid\FormulaColumn не пересчитывается

Сообщение rak » 2017.03.31, 02:07

IIIKET писал(а):
2017.03.31, 00:37
Мне кажется Вы прост оне читаете, конфиг выше, там ясно указано:
'class' => 'kartik\grid\EditableColumn',
вы видать прописали это в editableOptions, потому и ошибка такая

Ответить