我可以在不重新加载的情况下更改JQGrid中行的主ID吗?

时间:2009-12-17 17:12:06

标签: jqgrid

我正在尝试在JQGrid中实现内联插入。到目前为止,我的方法是:

  • 使用addRowData在ID = -1
  • 的末尾添加一个空行
  • 使用editGridRow编辑该行
  • 在服务器上检测到此更新实际上是插入,因为ID = -1,并返回新的ID值

令人惊讶的是,这个rube goldberg计划效果很好。但是,为了使其无缝,我想静默更新刚刚添加的行的ID,以便用户可以继续编辑其他列。我宁愿不做grid.trigger("reloadGrid"),因为我不再专注于那一行。

我试过

grid.setRowData(-1, { MyPrimaryKeyField: newID });

但这不起作用(它仍然认为行的ID是-1)。有没有一种简单的方法可以在不重新加载整个网格的情况下更改行的主ID?

2 个答案:

答案 0 :(得分:7)

实际上你不能用“setRowData”改变网格主行Id, 但有一个简单的方法:

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

- )

答案 1 :(得分:2)

您可以通过进行AJAX调用来执行插入并返回新ID。获得ID后,调用reloadGrid,然后使用新返回的ID选择行。您还希望在执行此操作时设置微调器,以便用户知道您的页面正忙。不是你要求的,但它应该满足你的需求。