jqGrid本地数据操作;删除和添加新行时行ids的问题

时间:2010-04-27 09:37:24

标签: javascript jquery jqgrid

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

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

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

有没有人知道如何访问记录的行ID,因为我可能会使用afterSubmit事件并重新分配行ID从1开始增加。(因此在删除行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开始。 使用GitHub中最新的jqGrid代码(2010年4月27日)解决了这个问题。但我发现当你试图编辑行时,那个版本的jquery.fmatter.js导致空单元格显示“”,所以我不得不将该文件恢复为jqGrid 3.6.4中的文件。

1 个答案:

答案 0 :(得分:0)

按照问题编辑部分的说明解决