当我从第一个到最后一个更改位置时,添加新行不起作用

时间:2012-05-15 19:44:45

标签: jquery jqgrid

我正在尝试使用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);
            }
        }
    }
});

0 个答案:

没有答案