当焦点进入新行时,滑动网格以增加行的Id字段

时间:2013-12-23 12:18:37

标签: javascript jquery asp.net-mvc-4 slickgrid

我正在使用SlickGrid,我有3个coulmns,其中第一列是Id列,必须保持唯一(可编辑),我还想在焦点进入新行时自动增加每行的id feild。在表单提交上我也必须检查唯一性。

1 个答案:

答案 0 :(得分:3)

我通过为每个新行分配一个负值并减少索引来处理这个问题。 -1,-2,-3。

将这些行发送到服务器并保存后,它们会返回正确的ID并且状态良好。

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