我正在使用 jqGrid 和 localArray 数据。我正在从 azure db 获取这个数组并绑定到网格。在处理每一行之后,我计划在数据库中更新它。
我正在使用内联导航栏。单击“添加行”、“保存行”和“删除行”按钮时,我想调用我的自定义函数,然后想从该函数中保存/删除数据库中的数据。
首先我想知道我的设计是否正确和可扩展。
目前,我可以使用“aftersavefunc”参数在单击保存按钮时调用自定义函数。
其次,请让我知道我必须为“删除行”按钮设置哪个参数。我认为对于“添加行”,相同的参数可以工作,因为我们必须单击“保存行”按钮来保存行。
我的代码如下供参考:
jQuery("#list4").jqGrid({
datatype: "local",
data: myData,
height: "auto",
colNames: ['RowNo', 'RouteId', 'Area', 'BusStop', 'Seater', 'Lat', 'Long', 'Timing', 'FromTo', 'KeyPoint'],
colModel: [
{ name: 'id', index: 'id', width: 50, sortable: false },
{ name: 'RouteId', index: 'RouteId', width: 50, sortable: false },
{ name: 'Area', index: 'Area', width: 130, sortable: false, editable: true, editrules: { required: true} },
],
multiselect: false,
rownumbers: false,
rowList: [10, 20, 30],
pager: jQuery('#pager1'),
viewrecords: true,
caption: "Bus Schedule Data",
editurl: "clientArray",
restoreAfterSelect: false,
loadonce: true
});
var rowid;
var inlineparams = {
addParams: { useFormatter: false },
editParams: {
aftersavefunc: function (id) {
var rowData = jQuery('#list4').jqGrid('getRowData', id);
ScheduleTable.update({ id: 1, Area: rowData.Area.toString() });
}
},
add: true,
edit: true,
save: true,
cancel: true,
del: true
};
jQuery("#list4").jqGrid('navGrid', "#pager1", { edit: false, save: false, add: false, cancel: false, del: false });
jQuery("#list4").jqGrid('inlineNav', "#pager1", inlineparams);
jQuery('#list4').jqGrid("saveRow", id, {
keys: false,
url: "clientArray"
});