将 jqgrid 属性放在一个公共变量中并重用它们?

put jqgrid properties in a common variable and reuse them?

我在一个 ASP.NET 网页中有 10 个 jqgrid,每个都向用户显示不同的数据。

除了 colNames、colModel、pager 和 sortname 属性外,所有其他属性都是相同的。请参阅下面的代码,

  datatype: "local",
        mtype: "GET",
        cmTemplate: { sortable: true, resizable: true },
        height: 'auto',
        altRows: true,
        altclass: '',
        pgbuttons: false,
        pgtext: "",
        gridview: true,
        loadonce: true,
        shrinkToFit: false,
        pager: gridPager,
        autoencode: true,
        sortname: 'Id',
        width: $('.grid-wrapper').width() - 20,
        emptyrecords: 'No records found',
        viewrecords: true,
        sortorder: "desc",
        scrollrows: true,
        loadui: 'disable',      
        toppager: true,

是否可以将上述所有属性放在一个公共变量中,并在所有 10 个不同的网格中重用该变量?

想法是保存一些 space 并在一个地方进行更改。

注意:我使用的是jqgrid插件4.6.0.

应用的解决方案:

将以下代码添加到我的 js 文件的顶部,并从所有 10 个 jqgrid 中删除相同的属性。干得漂亮!

//DEFAULTS
$.extend($.jgrid.defaults, {
    datatype: "local",
    mtype: "GET",
    cmTemplate: { sortable: true, resizable: true },
    height: 'auto',
    altclass: '',
    pgbuttons: false,
    pgtext: "",
    gridview: true,
    loadonce: true,
    shrinkToFit: false,
    autoencode: true,
    emptyrecords: 'No records found',
    viewrecords: true,
    sortorder: "desc",
    scrollrows: true,
    loadui: 'disable'
});

是的,您可以使用 jQuery 来完成。 jquery.extend 只需将所有 jqGrids 中相同的属性放在一个对象 defaultOptions 中。 然后就可以在specificOptions中为某个jqgrid指定具体选项了。下面的函数将特定合并到 defaultOptions 中。 如果 specificOptions 对象包含一个也在 defaultOptions 对象中的 属性,那么它将覆盖它, 否则它将把它添加到选项对象中。

var options= $.extend( true, defaultOptions, specificOptions);