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

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

除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个不同的网格中重用该变量?

我们的想法是节省一些空间并在一个地方进行更改。

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

解决方案:

将以下代码添加到我的js文件的顶部,并从所有10个jqgrids中删除了相同的属性。 工作得很好!

 //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对象中的属性,则它将覆盖它,否则它将把它添加到options对象。

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