我正在尝试使用jqgrid进行内联编辑,并在设置position = last时遇到添加新行的问题。我的网格最初没有记录。我第一次点击“新行”,它的工作原理。我单击“保存”,数据将发布到Web服务。但是,当我再次单击“新行”时,它会将我之前添加的行放入编辑模式,因此我无法添加多行。我的代码如下。任何帮助将不胜感激:)
在查看了这个之后,新行似乎在保存后没有提交/接受到网格。如果我刷新网格然后添加一个新行,它会按预期工作。在我的保存Web服务被调用后,我似乎需要做一些事情......
var airGrid = $("#tblAir");
airGrid.jqGrid({
datatype: function () {
$.ajax({
url: "MyTravelSrv.asmx/GetPlanAirfare",
data: JSON.stringify({ TravReqstId: 1234 }),
datatype: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
beforeSend: function () {
},
complete: function (jsondata, stat) {
if (stat == "success") {
airGrid[0].addJSONData(JSON.parse(jsondata.responseText).d);
}
},
error: function (e) {
var msg = JSON.parse(e.responseText);
alert(msg.Message);
}
});
},
colNames: ['ID', 'Date', 'Time', 'Preferred Airline', 'From', 'To'],
colModel: [{ name: 'id', index: 'id', hidden: true },
{ name: 'departDate', index: 'departDate', editable: true },
{ name: 'departTime', index: 'departTime', editable: true },
{ name: 'prefAirline', index: 'prefAirline', editable: true },
{ name: 'from', index: 'from', editable: true },
{ name: 'to', index: 'to', editable: true}],
pager: '#pager',
height: 60,
viewrecords: true,
editurl: 'MyTravelSrv.asmx/UpdatePlanAirfare'
});
airGrid.jqGrid('navGrid', "#pager", { search: false, edit: false, add: false, del: false });
airGrid.jqGrid('inlineNav', '#pager', {
addParams: { position: "last",
addRowParams: {
keys: true,
oneditfunc: function (rowid) {
//alert(rowid);
}
}
}
});