Javascript 在免费jqGrid中配置xxxParam标记,以便在内联添加后重新加载

Javascript 在免费jqGrid中配置xxxParam标记,以便在内联添加后重新加载,javascript,jquery,jqgrid,Javascript,Jquery,Jqgrid,我无法找到哪个标签属于哪个位置的描述-一直在搜索来自oleg的注释;-) 我有一个表,行中有actionbuttons(编辑/删除)。在InlineAV上添加ist添加:true: jQuery(文档).ready(函数() { currentCompanyCode=''; jQuery(“网格”).jqGrid({ url:“服务器操作”, 寻呼机:是的, pgbuttons:false,pginput:false,pgtext:false, 数据类型:“json”, mtype:“POST

我无法找到哪个标签属于哪个位置的描述-一直在搜索来自oleg的注释;-)

我有一个表,行中有actionbuttons(编辑/删除)。在InlineAV上添加ist添加:true:

jQuery(文档).ready(函数()
{
currentCompanyCode='';
jQuery(“网格”).jqGrid({
url:“服务器操作”,
寻呼机:是的,
pgbuttons:false,pginput:false,pgtext:false,
数据类型:“json”,
mtype:“POST”,
ajaxGridOptions:{async:false},
aftersavefunc:function(){reloadGrid(“grid”)},
postData:{currentCompanyCode:function(){return jQuery(“#availCompanyCodes”).val();},
寻呼机:“#添加btns”,
colModel:[
{name:“id”,label:“key”,hidden:true,key:true},
{名称:“优先级”,标签:“优先级”},
....
{名称:“动作”,标签:,对齐:“左”,模板:“动作”}
],
actionsNavOptions:{delbutton:true,editbutton:true}
}
}).jqGrid(“navGrid”、“#addBtns”、{refresh:true、edit:false、del:false、search:false、add:false},
{/*编辑选项*/},
{/*添加选项*/},
{/*del Options*/},
{/*搜索选项*/})
.jqGrid(“inlineNav”、“#addBtns”{
保存:真,编辑:假,添加:真,
editParams:{keys:true,successfunc:function(){reloadGrid(“grid”)},extraparam:{currentCompanyCode:function(){return jQuery(#availCompanyCodes”).val()},
addParams:{addRowParams:{successfunc:function(){reloadGrid(“grid”)},extraparam:{currentCompanyCode:function(){return jQuery(#availCompanyCodes”).val()}
})
});
这是我们网格定义的摘录。花了一些时间来弄清楚,当内联或添加时如何设置postdata。 两个问题: 在内联编辑中添加postdata有没有更简单的方法?看起来很复杂;-)

当我添加新行并在“操作”单元格中按“保存”图标时,网格将不会重新加载。按Enter键或pagerbar中的Save按钮时,它将重新加载。我应该把重载语句放在哪里

我不明白为什么在编辑模式下successfunc标记属于editParams块,但在添加模式下它必须位于addRowParams块中。有没有说明这些标签放在哪里?
Thanx oleg-网格很棒,但有时我会错过一个文档

您描述的问题与jqGrid的通用设计有关。jqGrid不仅提供了创建网格时使用的选项,还提供了许多其他直接或间接使用的方法,需要指定哪些选项

例如,存在一个exist方法,它包含一组选项和回调。您需要指定
外部参数
选项以及
successfunc
回调。直接调用
editRow
(例如,在
onsetrow
ondblClickRow
回调的内部)如下所示

$(this).jqGrid("editRow", {
    keys: true,
    extraparam: { ... },
    successfunc: function() { ... }
});
问题是,
editRow
将不仅直接、间接地从、从
inlineNav
或从动作格式化程序调用。方法中的每个选项都提供了一些指定选项的方法,这些选项将被转发到
editRow
,但是这些选项的使用并不舒适,并且生成的代码的维护也不太好

因为免费的jqGrid引入了为网格上下文指定默认选项的可能性。例如,网格参数
inlineEditing
允许在一个位置指定
editRow
的默认选项,所有直接或间接调用
editRow
都将使用这些选项。仍然可以覆盖所需的选项(例如,
inlineav
editParams
选项内)。同样,可以使用新的jqGrid选项
formEditing
formview
formDeleting
搜索
导航选项
InlineAvoptions
等等。此外,一些简单的选项,如
pager
在免费jqGrid中得到了改进。可以指定
pager:true
,jqGrid将为寻呼机本身创建div,就像它为
toppager:true
选项所做的一样。对于
navGrid
inlineNav
navButtonAdd
,可以跳过寻呼机参数(
“#addBtns”
)。顺便说一下,您的原始代码包含语法错误:您使用jqGrid的
pager
属性两次:一次为
pager:true
,另一次为
pager:“#addBtns”

因此,您可以将原始代码重写为以下代码

jQuery("#grid").jqGrid({
    url: "serverAction",
    datatype: "json", 
    mtype: "POST",   
    pager: true,
    pgbuttons: false,
    pginput: false,
    pgtext: false,       
    postData: {
        currentCompanyCode: function () {
            return jQuery("#availCompanyCodes").val();
        }
    },
    colModel:[
        //{name: "id",     label: "key", hidden: true, key: true},
        {name: "priority", label: "prio"},
         ....
        {name: "act",      label: "", align: "left", template: "actions"}
    ],
    navOptions: { edit: false, del: false, search: false, add: false },
    inlineNavOptions: { add: true, edit: true },
    actionsNavOptions: { delbutton: true, editbutton: true },
    inlineEditing: {
        keys: true,
        extraparam: {
            currentCompanyCode: function () {
                return jQuery("#availCompanyCodes").val();
            }
        },
        aftersavefunc: function () {
            var $grid = jQuery(this);
            setTimeout(function () {
                $grid.trigger("reloadGrid");
            });
        }
    }
}) .jqGrid("navGrid")
  .jqGrid("inlineNav");

您描述的问题与jqGrid的通用设计有关。jqGrid不仅提供了创建网格时使用的选项,还提供了许多其他直接或间接使用的方法,需要指定哪些选项

例如,存在一个exist方法,它包含一组选项和回调。您需要指定
外部参数
选项以及
successfunc
回调。直接调用
editRow
(例如,在
onsetrow
ondblClickRow
回调的内部)如下所示

$(this).jqGrid("editRow", {
    keys: true,
    extraparam: { ... },
    successfunc: function() { ... }
});
问题是,
editRow
将不仅直接、间接地从、从
inlineNav
或从动作格式化程序调用。方法中的每个选项都提供了一些指定选项的方法,这些选项将被转发到
editRow
,但是这些选项的使用并不舒适,并且生成的代码的维护也不太好

因为免费jqGrid引入了