2013-02-11 64 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