Javascript jqGrid本地数据操作;删除和添加新行时行ID出现问题

Javascript jqGrid本地数据操作;删除和添加新行时行ID出现问题,javascript,jquery,jqgrid,Javascript,Jquery,Jqgrid,我使用jqGrid作为客户端网格输入,允许用户在一次发布所有数据之前输入多个记录 我遇到了一个问题,如果用户添加了一些记录(比如3),记录的id将是1,2,3。如果用户删除记录2,则记录的id将保留1和3 当用户现在添加一条新记录时,jqGrid会再次分配记录id 3,因为它似乎只计算总记录数,并为新记录将其递增1。这会导致在选择行时出现问题,因为现在行id为1、3和3 有人知道如何访问记录的行id吗?因为我可能会使用afterSubmit事件并重新分配从1开始增加的行id。(因此,在我删除行i

我使用jqGrid作为客户端网格输入,允许用户在一次发布所有数据之前输入多个记录

我遇到了一个问题,如果用户添加了一些记录(比如3),记录的id将是1,2,3。如果用户删除记录2,则记录的id将保留1和3

当用户现在添加一条新记录时,jqGrid会再次分配记录id 3,因为它似乎只计算总记录数,并为新记录将其递增1。这会导致在选择行时出现问题,因为现在行id为1、3和3

有人知道如何访问记录的行id吗?因为我可能会使用afterSubmit事件并重新分配从1开始增加的行id。(因此,在我删除行id 2之后,这会将其他行id设置为1和2)

还有其他解决这个问题的建议吗

谢谢

编辑 我已经用以下删除navGrid按钮的代码解决了这个问题

  }).navGrid('#pager', {add:true, del:true, refresh:false, search:false},
    {
    ...
    }, ##edit parameters
    {
    ...
    }, ##add parameters
    {reloadAfterSubmit:false,
    clearAfterAdd:false,
    afterComplete:
        function () {
            ## clear and readd the row data so the row ids are sequential
            var savedData= $("#inputgrid").jqGrid('getRowData');
            $("#inputgrid").jqGrid('clearGridData');
            $("#inputgrid").jqGrid('addRowData', 'rn', savedData);

        }
    }  ##delete parameters
);
基本上,只需保存网格数据,然后重新添加它,以便rowid再次按顺序排列


出于某种原因,它会导致左侧的行号从2开始,而不是从1开始Edit通过使用GitHub中最新的jqGrid代码(2010年4月27日)解决了这个问题。但是我发现jquery.fmatter.js版本在您试图编辑行时导致空单元格显示“”,因此我必须将该文件还原回jqGrid 3.6.4中的文件。

已解决,如问题的编辑部分所示