2011-02-02 133 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) {...} },