serializeDelData回调的参数仅包含id字段

时间:2014-08-18 12:24:18

标签: jqgrid

我使用jgGrid 4.5.4。当用户按下Delete按钮时,我需要向服务器发送两条信息:记录ID和记录版本(用于乐观锁定)。我知道serializeDelData回调可以用于此目的:

serializeDelData:serializeDelDataCallback

...

function serializeDelDataCallback(data) {

    // The "data" argument has "id" and "oper" fields only! Where can I get other fields of the current grid row?
    ...
    return $.param(modifiedData);
}

但是,serializeDelData回调的参数仅包含idoper字段。我使用类似的回调来发布新的和更新的记录 - 该回调提供当前行的所有字段。

我在哪里可以获得serializeDelData回调中当前网格行的其他字段? (我需要得到行版本,它是网格中的隐藏字段。)

1 个答案:

答案 0 :(得分:1)

如果使用乐观锁定,那么网格的行可能包含记录版本列。 onclickSubmit回调的最简单方法(请参阅the documentation),例如以下表格

onclickSubmit: function (options, rowid) {
    return {
        rowVer: $(this).jqGrid("getCell", rowid, "rowVersion")
    };
}

在上面的代码中,我假设您的列名为rowVersion,其中包含您需要作为rowVer param发送的记录版本。一般情况下,您可以在getCell内以相同的方式使用serializeDelData,但onclickSubmit似乎更简单。返回的onclickSubmit属性将与Delete使用的标准参数结合使用,因此您应该拥有所需的所有信息。