我可以在jqGrid中更改新添加的行的ID吗?

我正在使用带有inlineNav以便用户可以在本地编辑/添加/删除行,然后在完成后将所有更改提交给服务器。 我希望能够在本地向网格添加多个新行,但由于其他要求,我需要新添加的行具有唯一ID而不是默认的new_row 。 此外,由于外键约束,我无法使用ajax调用在添加时立即保留新行。 我尝试了以下内容,但ID值不会改变:

  $("#thisGrid").jqGrid('inlineNav', '#thisGridPager', { edit: false, addtext: "Add", save: false, cancel: false, addParams: { position: 'last', addRowParams: { keys: true, oneditfunc: function (rowid) { var newRowIndex = $("#newRowIndex").val(); if (!newRowIndex) newRowIndex = 1; $("#thisGrid").jqGrid('setCell', rowid, 'id', rowid + "_" + newRowIndex, '', ''); newRowIndex++; $("#newRowIndex").val(newRowIndex); } } } }); 

我只想将新添加的行ID设置为new_row_1 ,为每个新添加的行递增索引。 这是可能的,如果是的话,怎么样?

除了Dean的回答之外,我发现它在oneditfuncaddRowParams中无法正常工作。 我发现使用jqGrid的afterInsertRow事件有效:

 afterInsertRow: function (rowid, rowdata, rowelem) { if (rowid == 'new_row') { var newRowIndex = $("#newRowIndex").val(); if(!newRowIndex) newRowIndex = 1; var newRowId = rowid + "_" + newRowIndex; $("#new_row").attr('id', newRowId); newRowIndex++; $("#newRowIndex").val(newRowIndex); } } 

要设置新行的id,请使用:

  $("#new_row").attr('id',newId); 

引用这个问题: 我可以在不重新加载的情况下更改JQGrid中行的主ID吗?