2
我有一個jqGrid,可以啓用SortableRows
選項。以前我一直在允許行總是被排序。當行被刪除時,數據庫通過ajax調用進行更新。要做到這一點,我一直在使用update
選項。jqGrid可排序的行,只允許在某些行上排序
現在我需要實現排序,不允許某些行。即那些對於可見列之一具有列值「1」的行。我已經成功地阻止了ajax更新,但從視覺上看,這個行仍然在新的位置丟棄。我需要在視覺上將行恢復到原始位置。
到目前爲止,我有這個代碼,它的工作原理,但與評論的地區是我堅持如何將行恢復到以前的位置。
jQuery("#all_driver_runs").jqGrid('sortableRows', {
update: function (ev, ui) {
//first check the value of the 'placed_in_runs' column
if ($('#all_driver_runs').jqGrid('getRowData', ui.item[0].id)['placed_in_run'] !== "1") { //here update the database
if (!ui.item[0].previousSibling) {
$.post("scripts/update_driver_run_sort.php", {
this_one: ui.item[0].id,
prev: 'none',
next: ui.item[0].nextSibling.id
});
} else if (!ui.item[0].nextSibling) {
$.post("scripts/update_driver_run_sort.php", {
this_one: ui.item[0].id,
prev: ui.item[0].previousSibling.id,
next: 'none'
});
} else {
$.post("scripts/update_driver_run_sort.php", {
this_one: ui.item[0].id,
prev: ui.item[0].previousSibling.id,
next: ui.item[0].nextSibling.id
});
}
} else {
/*
*no DB update, and now I need to revert to previous position here ???
*/
}
}
});
這是一些很好的東西,感謝您的幫助!完美的作品。 –
我遇到了這個設置的問題。現在,如果你有兩個彼此相鄰的不可移動的行,那麼就不可能在它們之間放置一個可移動的行。我仍然希望能夠在兩個不可移動的行之間放置一個可移動的行。 –
查看'取消'成員。檢查[這個小提琴](http://jsfiddle.net/ssarabando/C58z8/)。 「DSK1」列在「APPR」不可用時不可用。嘗試移動「APPR」,看看是否你想要的。 – ssarabando