使用以下代码定义jqGrid。 editurl用于内联编辑。 dataProxy用于在表单编辑中上传图像。
但是,如果在表单编辑中按下了保存按钮,则不会调用dataProxy。 如何强制调用dataProxy或允许在jqGrid列中上传图像的其他方式?
$grid.jqGrid({
datatype: "json",
url: '/GetData',
editurl: '/Edit',
...
});
$grid.jqGrid("navGrid", "#grid_toppager", {
search: true,
del: true,
add: true,
view: true,
edit: true
},
{
url: null,
dataProxy : function(opt, args) {
alert('Why this box does not appear on form save if jqgrid editurl is set');
},
beforeInitData: function () {
var
colm = $grid.jqGrid('getColProp', '_image'),
selRowId = $grid.jqGrid('getGridParam', 'selrow');
colm.editoptions.src = '/GetImage?id=' + selRowId;
},
closeAfterEdit: true,
reloadAfterSubmit: true,
}
);
答案 0 :(得分:1)
您没有描述使用dataProxy
的目标,但如果您确实需要使用此功能,则应遵循以下规则:
dataProxy
定义为jqGrid的回调。您可以使用$.extend
更改$.jgrid.defaults
。url
应为null
,或者您应将useDataProxy
或editGridRow
的{{1}}选项设置为delGridRow
明确地(例如覆盖true
不是editurl
)。{/ li>
因此,在您的情况下,您只需将null
从编辑对话框列表移动到jqGrid选项列表。