jqGrid - 删除问题

时间:2012-02-04 18:55:33

标签: jquery jqgrid

我有简单的JqGrid

  $j("#gridTemp").jqGrid({
    jsonReader: {
        id: 'AppID' + 'Name',
        repeatitems: false
    },
    url: GetData,
    datatype: "json",
    colNames: ['Col1', 'Col2'],
    colModel: [
                { name: 'Col1'},
              { name: 'Col2'}
            ],
    rowNum: 10,
    autowidth: true,
    rowList: [10, 20, 30],
    pager: '#pager1',
    }).navGrid('#pager1', { edit: false, add: false, del: true, search: false }, {}, {}, { url: DeleteAddress });

}

并尝试获取删除按钮点击事件

$j('#del_gridTemp').click(function () { 
        alert($j('#gridTemp').jqGrid('getGridParam', 'selarrrow')); 
    });

由于某种原因它无法正常工作。任何帮助appriciated。

2 个答案:

答案 0 :(得分:2)

我不知道错误是什么,但我希望the demo会帮助你。

首先你使用selarrrow参数,所以我想你想要多选网格。所以我在代码中添加了multiselect: true参数。使用$('#del_gridTemp').click(function () {...});的原始代码适用于我的演示。我只修改了警报的文本。例如,如果您选择具有“test4”,“test2”,“test12”的行,您将首先看到消息,如

enter image description here

单击“确定”按钮,然后在确认对话框中单击“删除”按钮,您将看到下一条消息

enter image description here

来自我建议您使用的onclickSubmit回调函数。代码看起来像

$("#gridTemp").jqGrid('navGrid', '#pager', {refreshstate: 'current', add: false, edit: false, del: true},
    {},
    {},
    { url: '/DeleteAddress',
        onclickSubmit: function (options, postdata) {
            alert('in onclickSubmit: postdata=' + postdata);
            return { myData: 'Hello'};
        }});

onclickSubmit方法的内部,我还展示了如何附加将与其他信息一起发送的信息。

我在URL'/ DeleteAddress'下没有任何服务器代码,但在任何工具中,如Fiddler of Firebug,您将能够获得将要发布的数据格式。它是x-www-form-urlencoded格式的数据:

myData=Hello&oper=del&id=4%2C2%2C12

以解码形式:

myData=Hello
oper=del
id=4,2,12

我认为它应该接近你所需要的。

答案 1 :(得分:0)

请参阅jqGrid方法here。您可以删除这样的行:

$('#the_button').click(function () {
    //get selected Ids returns like: ["1", "2", "3"]
    var selectedIds = $('#gridTemp').jqGrid('getGridParam', 'selarrrow');

    //iterate over each id and delete the corresponding row
    $.each(selectedIds, function (index) {
        $('#gridTemp').jqGrid('delRowData', selectedIds[index]);
    });
});