我正在使用Multiselect
選項從JqGrid刪除記錄。記錄從數據庫中刪除如何更新UI
grid.jqGrid('getGridParam', 'selarrrow')
使用上面的線我得到了用戶選擇的行ID和進行AJAX調用,通過ID的,並從數據庫中刪除。
我的疑問是刪除後,我應該重新形成網格或什麼是處理這個最好的方法?
任何工作示例都會很棒。
我正在使用Multiselect
選項從JqGrid刪除記錄。記錄從數據庫中刪除如何更新UI
grid.jqGrid('getGridParam', 'selarrrow')
使用上面的線我得到了用戶選擇的行ID和進行AJAX調用,通過ID的,並從數據庫中刪除。
我的疑問是刪除後,我應該重新形成網格或什麼是處理這個最好的方法?
任何工作示例都會很棒。
您可以重新加載網格,但這會導致另一個往返服務器。
或者,由於您已經擁有了要刪除的行的ID,因此您可以遍歷該列表並使用delRowData
方法刪除它們。由於事實,即改變在數據庫發生電網將會過時,你實際上可能要重新加載電網,以便從去陳舊保持數據
var rows = grid.jqGrid('getGridParam', 'selarrrow');
rows = rows.slice(); // Create a copy of the array since it
// is indirectly modified below
for (var i = 0; i < rows.length; i++){
jQuery('#mygrid').jqGrid('delRowData', rows[i]);
}
:這將提供一個更靈活的解決方案。
完美的工作。但只有備選行被刪除!我保持一個控制檯返回[1,3,5,7]只有1,5被刪除。我的網格做錯了嗎? – user2067567
@JustinEthier:'rows'將**引用**到內部參數'selarrrow'。在刪除第一個項目之後,您將比較'i'和'rows.length',它是一個較小的。即使你將'rows.length'高速緩存在另一個變量中,它也是錯誤的,因爲行'[i]'的後半部分將會是'undefined',因爲'rows'的大小在每次刪除後都會減少。例如,你可以總是使用索引'i = 0'並且執行'l = rows.length'次。或者,你可以從'i = rows.length - 1'開始並遞減'i':'for(var i = rows.length - 1; i> = 0; i - ){...}' – Oleg
@奧列格 - 好,趕快,謝謝! –