2011-02-02 154 views
1

當我編輯我選擇的行內的單元格時,當我按Esc或輸入我的行保存,然後當我再次選擇它時,行仍然顯示爲「選定」它正在變成一個常規的行。jqgrid編輯,保存和esc

我的問題是,如果我再次選擇此行,它不會在編輯模式下顯示。它顯示爲選中狀態,直到我選擇另一行時,只有當我再次選擇該行時,它纔會處於編輯模式。

如何解決這個問題,以便保存的行在選擇時可以再次編輯? (而不是之前編輯另一行後)

+0

我有同樣的問題,我嘗試解決你。我會通知你我的解決方案,但現在我不知道。也許@ Oleg可以幫助我們。他是專家:) – kajo 2011-02-03 00:02:55

回答

0

好吧,我想我找到了解決方案。 你的js網格初始化中有這段代碼嗎?我敢打賭,是的,因爲它是在官方jqGrid演示:

onSelectRow: function(id) 
{ 
    if(id && id !== lastsel) 
    { 
     grid.jqGrid('restoreRow', lastsel); 
     grid.jqGrid('editRow', id, true, null, function(){ grid.trigger('reloadGrid');return true; }); 
     lastsel = id; 
    } 
}, 

如果是的話,問題就在這裏。如果你要編輯的行,這實際上是編輯,你必須把它寫這樣的事情:

onSelectRow: function(id) 
{ 
    if(id && id !== lastsel) 
    { 
     grid.jqGrid('restoreRow', lastsel); 
     grid.jqGrid('editRow', id, true, null, function(){ grid.trigger('reloadGrid');return true; }); 
     lastsel = id; 
    } 
    else if(id && id === lastsel) 
     grid.jqGrid('editRow', id, true, null, function(){ grid.trigger('reloadGrid');return true; } ); 

,或者如果條件簡單地改變只if (id) {...} },