9

我使用 Slickgrids 取得了很大的成功。我有 ajax 编辑所有工作 - 但我正在尝试添加一个功能;

下面是我的代码,它允许我更新单元格 - 它按预期工作 - 但我希望能够在使用 json 数据的返回值对其进行编辑后更改单元格。请参阅下面的代码 - 我已经输入了大写字母,我需要一个命令来使用新返回的数据更新已编辑的单元格

    grid.onCellChange.subscribe(function(e, args) {
                  var dataString = "col="+grid.getColumns()[args.cell].name+"&row="+args.item.new_training_calendar_id+"&value="+data[args.row][grid.getColumns()[args.cell].field];

                $.ajax({
                    type: "POST",
                    url: "mydomain/update_cell",
                    data: dataString, dataType: "json",
                success: function(a) { 
                        if(a.status != "ok") { 
                             alert(a.msg); 
                             undo(); 
                           } else {
                             alert(a.msg);
                             **CHANGE_CELL_HERE TO (a.newdata);**
                            }
                     return false;
               } }); });
4

1 回答 1

15

如果您DataView在网格中使用,您可以使用:

grid.invalidateRow(args.row);
var row = dataView.getItem(args.row);
row[grid.getColumns()[args.cell].field] = a.msg;
dataView.updateItem(args.item.id, row);
grid.render();

如果您使用的是普通网格,则可以使用:

grid.invalidateRow(args.row);
data[args.row][grid.getColumns()[args.cell].field] = a.msg;
grid.render();

希望有帮助!

于 2012-08-23T13:10:03.120 回答