在jqGrid中,我是否必须手动调用saveRow来触发ajax保存请求?
这里的文档不是很清楚: http://www.trirand.com/jqgridwiki/doku.php?id=wiki:inline_editing&s[]=编辑URL#保存行 用户编辑完表格单元格/行后,我必须手动调用在jqGrid中,我是否必须手动调用saveRow来触发ajax保存请求?,jqgrid,Jqgrid,这里的文档不是很清楚: http://www.trirand.com/jqgridwiki/doku.php?id=wiki:inline_editing&s[]=编辑URL#保存行 用户编辑完表格单元格/行后,我必须手动调用saveRow,还是当行(单元格?)失去焦点时,jqGrid会自动触发saveRow 在初始设置中,我给jqGrid一个editurl值,但在编辑完一行后,我没有看到任何ajax请求发出。您有两个选项: 使用参数键:true。在这种情况下,如果用户按Enter键将调用该方法
saveRow
,还是当行(单元格?)失去焦点时,jqGrid会自动触发saveRow
在初始设置中,我给jqGrid一个editurl
值,但在编辑完一行后,我没有看到任何ajax请求发出。您有两个选项:
键:true
。在这种情况下,如果用户按Enter键将调用该方法,如果用户按Esc键将调用该方法。在这种情况下,您不需要显式调用。在一个调用中,通常可以看到以下示例虽然这是一个老问题,但我想添加一个显式调用
editRow
然后调用saveRow
的示例,这是一种非常常见的情况
以下代码允许用户在选定行之间自由移动,并保存以前选定的编辑行:
var grid = $('#gridName').jqGrid({
// ... some grid properties ...
editurl: 'clientArray',
cellEdit: false, // that's the default, but just to make clear that wer'e in inline edit mode
onSelectRow: utils.onSelectRow
// ... some more grid properties ...
});
var utils = {
prevRowId: null, // we have to keep the previous row id
onSelectRow: function (rowId, selectionStatus, event) {
if (rowId && rowId !== utils.prevRowId) {
var $grid = $(event.target).closest('table');
$grid.jqGrid('saveRow', utils.prevRowId);
$grid.jqGrid('editRow', rowId, { keys: true });
utils.prevRowId = rowId;
}
},
};
我找不到一个Oleg的官方例子可以做到这一点(他们都使用按钮,或者调用
retrieveRow
而不是saveRow
)。Hi@Oleg,从上面的答案中,我需要第二个选项,以及save按钮和cancel按钮以及每行的末尾。你能给我指一个现有的asp.net web表单项目吗。我试图通过现有的东西,但无法正确理解它。如果我能得到一个小样本,其中包含以下场景的指南,那将是非常有帮助和感激的:-1。在线编辑onclick,2。保存或取消按钮,位于具有可访问事件的每行末尾。这样我就可以在“拯救之舔”时打Ajax电话了。@Ganesh:对不起,你问的问题太普通了。我没有Web表单项目。也许这是一个人可以使用的。Web表单非常古老,实际上已经过时,因此很难谈论现有的ASP.NET Web表单项目。要在每行中添加编辑按钮,可以使用格式化程序:“操作”
。如果使用,您只需添加最后一列,其中包含一些name
属性和模板:“操作”
。要保存对服务器的修改,仍然需要编写一些服务器代码。