代码之家  ›  专栏  ›  技术社区  ›  Herb Caudill

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

  •  7
  • Herb Caudill  · 技术社区  · 15 年前

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

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

    grid.trigger("reloadGrid") ,因为我对那一排失去了注意力。

    我试过了

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

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

    2 回复  |  直到 15 年前
        1
  •  7
  •   Søren    13 年前

    实际上,您不能通过“setRowData”更改网格主行Id, 但有一个简单的方法:

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

        2
  •  2
  •   Justin Ethier    15 年前

    你可以通过一个AJAX调用来完成插入并返回新的ID来解决这个问题。一旦你有了ID,调用reloadGrid,然后使用新返回的ID选择行。你还需要在执行这个操作时设置一个微调器,这样用户就知道你的页面很忙。不完全是你想要的,但它应该满足你的需要。