2013-12-23 1 views
2

Я использую SlickGrid, у меня есть 3 coulmns, в которых первый столбец является столбцом идентификатора, который должен быть уникальным (редактируемый), я также хочу автоматически увеличивать id feild каждой строки всякий раз, когда фокус вступил в новую строку. В форме submit я также должен проверить уникальность.Слитая сетка для увеличения поля идентификатора для строки, когда фокус входит в новую строку

ответ

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. 
}); 
+1

Да, спасибо. Я нашел свое решение чем-то похожим на этот подход. –