dojo editable-tree-dgrid: создать или сгенерировать новую строку, поддерживаемую в dojo.store.JsonRest?

Я пытаюсь использовать dojo-dgrid, который одновременно является Tree и Editable.
В том, что у меня есть следующее требование:

У меня есть кнопка Add/ Icon в столбце (обычно последний столбец) для родительских строк. При нажатии на этот значок,
новая дочерняя строка должна быть сгенерирована / создана (например, store.newItem()) под этой родительской строкой
и эта дочерняя строка должна быть редактируемой (есть 11 столбцов, из которых 6 редактируемые,3 из них - digit.form.Select, а остальные 3 - текстовые поля).

После заполнения редактируемых областей (в последнем столбце будет значок "Сохранить") нажатие значка сохранения должно сохранить эту новую дочернюю строку.

Кстати, я использую dojo.store.JsonRest в качестве магазина.

Грид-декларация выглядит следующим образом:

var MyGrid = declare([Grid, Selection, Keyboard]);
window.testgrid = new MyGrid( 
{
    store       : Observable(Cache(jsonRest, Memory())),
    selectionMode : "none",
    getBeforePut: false,
    columns: getColumns,
    allowSelectAll: true,
    minRowsPerPage: 5,
    maxRowsPerPage: 20,
}, "gridContainer");

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

В JsonRest я мог видеть только методы добавления, установки, удаления. Хотите знать, как выполнить это требование с JsonRest в качестве магазина.

Благодарю.

1 ответ

Решение

Вы хотели бы использовать положить. Метод put магазина предназначен для вставки или обновления элемента.

var default_values = {somefield:'somevalue'};
default_values['parent'] = parent_id; //I have not actually defined parent_id
testgrid.store.put(default_values).then(function(result) {
    testgrid.refresh();
});
Другие вопросы по тегам