2013-02-11 34 views
2

我有一个要求是能够一次更新'n'行数。JQGrid一次更新多行然后保存

我已经通过将SELECT添加到1个特定列的列标题中来实现此目的。这将使用户可以选择是/否选项,并在网格视图中的特定列中生成所有的后续行,选择是或否取决于用户选择哪一行。

我已成功设法做到这一点。我的问题是现在发送“新”更新行数据到服务器。我试过saveRow()与视图中每行的行标识。这没有做任何事情。拨打电话AJAX

有人能指出我正确的方向吗?

感谢

回答

5

我只写了答案,因为你要求指出你在正确的方向。将数据从本地网格发送到服务器并不复杂(例如,参见here)。主要问题是情况是并发性。

在我看来,任何Web应用程序不仅应该作为一个用户应用程序工作。我写了多个答案(例如参见herehere),其中我描述了我的观点,即由于可能的并发错误,应该在修改后直接更好地更新修改的行。更新发生的越晚,相同行已被另一个用户从另一台计算机修改过的可能性越高。因此,我建议您使用标准saveRow行为并在修改后直接发送修改后的数据。

+1

+1对于'并发性' – Bhushan 2013-02-12 12:56:51

+0

有很多方法来控制并发性,比如sql server时间跨度(https://support.microsoft.com/en-us/help/917040/how-to-use-the-timestamp-column -a-table-for-optimistic-concurrency)或许多其他可以使用的方法,所以如果你做得对,它不会是一个问题。 – 2017-07-17 12:16:22

+0

@PouyaSamie:独立于实现控制并发的方式,有同样的问题。让我们用户尝试只保存**一个**行,并发现并发错误。然后用户必须重新加载网格(使用更新的数据)并重复该行中的更改。如果可以一次实现*多行*的保存,那么行中的一些可能已经被修改,而另一些则不被修改。您将不得不显示更复杂的错误消息,用户必须重复他/她之前完成的更多更改。保存一行更简单。 – Oleg 2017-07-17 12:31:29

0

我已经通过简单地调用Ajax自己是在jqGrid的声明的文件解决了这个。通过所有相关数据一切工作如何我需要它到

+0

请问您可以在这里粘贴代码吗? – 2014-11-26 10:48:10