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();
});