Хорошо, я думаю, что нашел решение.
У вас есть этот фрагмент кода в вашей инициализации сетки 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) {...}
},