Javascript 在jqgrid中实现删除和编辑操作

Javascript 在jqgrid中实现删除和编辑操作,javascript,jquery,web-services,jqgrid,grid,Javascript,Jquery,Web Services,Jqgrid,Grid,我有以下JQgrid实现 colModel: [ { name: 'NameEn', index: 'NameEn', width: 100, align: 'left' }, { name: 'Desc', index: 'Desc', width: 100, align: 'left' }, { name: 'ID', index: 'ID', width: 100, align: 'le

我有以下JQgrid实现

    colModel: [
                { name: 'NameEn', index: 'NameEn', width: 100, align: 'left' },
                { name: 'Desc', index: 'Desc', width: 100, align: 'left' },
                { name: 'ID', index: 'ID', width: 100, align: 'left', hidden:true }
],
    caption: "Management",
    gridview: true,
    rownumbers: true,
    rownumWidth: 40,
    scroll: 0,
    rowNum: 100,
    sortname: 'ID',
    pager: '#pager',
    sortorder: "asc",
    viewrecords: true,
    autowidth: true,
    width: '100%',
    height: '100%',
    jsonReader: { root: "GridData", page: "CurrentPage", total: "TotalPages", records: "TotalRecords", repeatitems: false, id: "00" }

};

SectorGrid.prototype.SetupGrid = function (selector) {
    jQuery(selector).html('<table id="grid"></table><div id="pager"></div>');
    var grid = jQuery("#grid").jqGrid(this.gridConfiguration);

    jQuery("#grid").navGrid('#pager',{edit:false,add:false,del:true,search:false})
};

提前感谢

尝试在表单中使用
navGrid

jQuery("#grid").jqGrid('navGrid', '#pager',
    {edit: false, add: false, search: false}, {}, {},
    { // Delete parameters
        ajaxDelOptions: { contentType: "application/json" },
        mtype: "DELETE",
        serializeDelData: function () {
            return ""; // don't send and body for the HTTP DELETE
        },
        onclickSubmit: function (params, postdata) {
            params.url = '/Sector(' + encodeURIComponent(postdata) + ')/';
        }
    });

URL
http://localhost/services.svc/sector(id)
我似乎有点奇怪。你能提供你的WCF服务的
扇区
方法的原型吗?嗨,Oleg,谢谢你的回复,但我还不太清楚(我用jquery:)我把你的代码添加到了我的网格导航中并定制了url,我还应该做些什么?我怎样才能发送身份证?请你再解释一下好吗?再次谢谢,我很感激it@Amadi:
postdata
应该是
id
。这应该是全部。如果程序仍然无法运行,您可以验证删除请求将发送到哪个URL。@Madi:通常是(例如
onclickSubmit
exist for
editGridRow
),但必须向服务器发送另一个信息。函数
serializeEditData
和属性
ajaxEditOptions
可以帮助您。我再次需要您的帮助,我认为网格编辑选项对我不起作用,因为我在网格中显示了部分接收到的数据,而其他数据是隐藏的。请您帮助我如何使用编辑按钮用所选行id填写我的现成表格。将调用wcf服务并填写表格,我只需要的部分,我可以调用与选定的行id的wcf谢谢你的精彩help@Madi:您可以使用
navGrid
的编辑和添加选项,这些选项在我的答案中是
{},{},
。您可以在这两种情况下设置
ajaxEditOptions:{contentType:“application/json”},重新创建表单:true,serializeditdata:function(postdata){return json.stringify(postdata);}
。对于编辑设置,您可以使用
mtype:“PUT”
并修改有关
onclickSubmit:function(params,postdata){params.URL=urlEdit+'/'+postdata.list_id;}
的编辑URL。这里的
list
是网格
元素的
id
。是你问的吗?
jQuery("#grid").jqGrid('navGrid', '#pager',
    {edit: false, add: false, search: false}, {}, {},
    { // Delete parameters
        ajaxDelOptions: { contentType: "application/json" },
        mtype: "DELETE",
        serializeDelData: function () {
            return ""; // don't send and body for the HTTP DELETE
        },
        onclickSubmit: function (params, postdata) {
            params.url = '/Sector(' + encodeURIComponent(postdata) + ')/';
        }
    });