Я использую SlickGrid, у меня есть 3 coulmns, в которых первый столбец является столбцом идентификатора, который должен быть уникальным (редактируемый), я также хочу автоматически увеличивать id feild каждой строки всякий раз, когда фокус вступил в новую строку. В форме submit я также должен проверить уникальность.Слитая сетка для увеличения поля идентификатора для строки, когда фокус входит в новую строку
2
A
ответ
3
Я обрабатываю это, назначая отрицательное значение для каждой новой строки и уменьшая индекс. -1, -2, -3.
Как только эти строки отправляются на сервер и сохраняются, они возвращаются с соответствующими идентификаторами, и все в хорошей форме.
var newRowCounter = -1;
Затем я добавил обратный вызов для onAddNewRow для установки значений по умолчанию и обновления сетки.
this.Grid.onAddNewRow.subscribe(function (e, args) {
var item = {
myId: newRowCounter--
};
$.extend(item, args.item); // Merge my default item and user input
args.item = item;
var dataview = args.grid.getData(); // Retrieve my underlying datacontext.
dataview.addItem(args.item); // Add my merged item to the datacontext.
args.row = dataview.getLength() - 1;
args.grid.invalidateRow(args.row); // Tell the grid this row changed
self.Grid.updateRowCount();
self.Grid.render(); // Display our changes.
});
Да, спасибо. Я нашел свое решение чем-то похожим на этот подход. –