2012-08-06 92 views
0

如果表单编辑更改主键,行标识不会更改。如何刷新jqgrid行标识后,主键在表单编辑中更改而无需重新加载

行ID是从主键创建的。 因此,表单行ID中的主键编辑出错后。

使用reloadAfterSubmit:true,从添加的行中失去焦点,所以应该避免。 如何刷新jqgrid行id后,通过窗体编辑primely密钥没有realoading整个网格?

表格编辑aftersubmit方法返回正确的改变行新的ID:

afterSubmit: function (response, postdata) { 
    var json = $.parseJSON(response.responseText), 
    return [true, '', json.Id]; 
    } 

然而jqGrid的不添加的行号改变了这一点。 如何解决?

回答

0

如果您在编辑后获得主键,则可以使用jqgrid setCell方法对其进行更改。

这里是方法link

你可以用“setCell”在本页面搜索。

$('#gridTable').setCell(rowId, 'KeyColumnName', 'Value'); 
+0

jqgrid会自动执行此操作:它会在编辑后刷新包括主键列的所有列。所以这不是必需的。可能我需要更改行ID:大概这是元素ID。对于新行添加usinfg表单添加我们可以在afterSubmit中返回新行ID,如Oleg中所描述的答案http://stackoverflow.com/questions/6954736/how-to-supply-a-row-id-when-using-jqgrid -editgridrow-to-create-a-new-row-and-n。但是,如果在表单编辑后返回新的行标识,如代码中所示,jqgrid不会更改行标识。在这种情况下,我问过如何更改行ID – Andrus 2012-08-08 16:25:16