jqGrid is defined using code below. editurl is used for inline edit.
dataProxy is used to upload images in form edit.
However dataProxy is not called if save button is pressed in form edit.
How to force dataProxy to be called or other way to allow to upload images in jqGrid column ?
$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,
}
);
You don’t describe the goal of the usage of
dataProxy, but if you really need to use the feature you should bu following:dataProxyas callback of jqGrid. You can use$.extendto change$.jgrid.defaults.urlfor Add/Edit or Delete operation should benullor you should setuseDataProxyoption ofeditGridRowordelGridRowtotrueexplicitly (for example to overwriteediturlwhich are notnull).So in your case you should just move
dataProxyfrom the list of Edit dialog to the list of jqGrid options.