我正在使用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中的文件。
答案 0 :(得分:0)
按照问题编辑部分的说明解决