2010-07-22 40 views
1

我在內聯編輯模式下有一個jqGrid。當用戶點擊回車時,記錄被髮送到服務器進行保存。服務器返回成功:真的還是假的,我在successFunc處理如下:如何防止jqGrid在保存後恢復行

function successFunc(data) { 
    d = jQuery.parseJSON(data.responseText); 
    if (!d.success) { alert(d.message); } 
    return d.success; 
} 

我想的是,當d.success是假的,jqGrid的應該留在編輯模式,而不是恢復。我試着在警報後添加一個「退出」電話。它可以工作,但Esc和Enter鍵不再起作用。

有沒有辦法阻止jqGrid保存後恢復行?

感謝

+0

我正在尋找相同的功能。 – Kelly 2012-09-19 18:54:47

回答

0

saveRow呼叫支持的afterrestorefunc回調:

afterrestorefunc如果定義,該功能在restoreRow(如果該行不保存成功)調用的方法恢復一行之後。爲了這個功能我們通過ROWID

所以,你可以讓電網呼叫restoreRow,然後在你的回調可以調用editRow迫使電網早在編輯模式。不是一個理想的解決方案,但過渡將發生得如此之快,用戶可能不會注意到。

+0

謝謝。但afterrestorefunc在用戶點擊Esc時也會被調用。所以用Esc它不會退出編輯模式。 – t35la 2010-07-22 16:01:05

+0

是的,但您可以使用'mode'變量來檢測它從哪裏調用。將'mode'初始化爲false,並且只在'successFunc'中將其設置爲true。然後在'afterrestorefunc'裏面,如果'mode'爲true,只調用'editRow' - 然後立即將它設置爲false。你怎麼看? – 2010-07-22 16:20:50

+0

現在問題在於,只要將其放回編輯模式,變化就會丟失。我需要重新考慮我的界面。謝謝您的幫助。 – t35la 2010-07-22 17:38:29