需要帮助jqGrid和navGrid

时间:2010-11-26 17:43:14

标签: post jqgrid

使用jqGrid的主要部分,可以设置postData参数,以便为POST变量添加内容。有没有办法用navGrid做同样的事情?

这就是我所拥有的:

主jqGrid脚本

    $("#"+id).jqGrid({
        url:baseURL+'modules/'+module+'/config.php',
        postData: {event: 'load-content',content : id,module: module},
        datatype: 'json',
        mtype: 'POST',
        colNames:colNames,
        colModel:colModel,
        pager: '#pager',
        rowNum:limit,
        rowList:[10,20,30],
        autowidth: true,
        sortname: sortby,
        sortorder: 'desc',
        gridview: true,
        viewrecords: true,
        caption: title,
        editurl: baseURL+'modules/'+module+'/config.php'
    });

navGrid脚本

jQuery("#"+id).jqGrid('navGrid','#pager',
    {del:true,add:true,edit:true}, //options
    {height:280,reloadAfterSubmit:false}, // edit options
    {height:280,reloadAfterSubmit:false}, // add options
    {reloadAfterSubmit:false}, // del options
    {});

我想要的是将{module: module, event: 'del-test'}添加到删除按钮的POST中。

3 个答案:

答案 0 :(得分:1)

您可以使用其他editData(用于添加或编辑操作)或delData参数(用于删除操作),并从'navGrid'参数的del选项>

{reloadAfterSubmit:false}

{reloadAfterSubmit:false, editData:{module: module, event: 'del-test'}}

(应在之前定义变量module。)

顺便说一句,与postData参数一样(请参阅this旧答案),您可以对editData参数的任何属性使用函数:

{
    reloadAfterSubmit:false,
    delData: {
        module: function() {
            return "bla bla";
        },
        event: 'del-test'
    }
}

答案 1 :(得分:1)

我知道你发布这个问题已经很久了,我想改进它,wiki pages向你展示了navgrid的基本用法,this是对我有用的答案。< / p>

致以最诚挚的问候,

答案 2 :(得分:0)

以这种方式修改代码

$("#" + id).jqGrid('navGrid', '#pager',
    { add: true, edit: true, del: true },
    { height:280, reloadAfterSubmit:false },
    { height:280, reloadAfterSubmit:false },
    {
        // settings for Delete 
        mtype: "post",
        reloadAfterSubmit: false,
        onclickSubmit: function (rp_ge, postdata) {
            rp_ge.url = '<%: Url.Content("~/URL/TO/DELETE/METHOD/HERE") %>' + postdata;
        },
        serializeDelData: function (postdata) { 
           postdata.module = module;
           postdata.event = 'del-test';
           return postdata; 
        }
    }, 
    {},
    {}
);