我在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'
});
答案 0 :(得分:1)
是的,你可以使用jQuery来做到这一点。 jquery.extend 只需将所有jqGrids中相同的属性放在一个对象defaultOptions中。 然后,您可以在specificOptions中指定特定jqgrid的特定选项。以下函数将特定合并到defaultOptions中。 如果specificOptions对象包含也在defaultOptions对象中的属性,那么它将覆盖它, 否则它会将它添加到选项对象。
var options= $.extend( true, defaultOptions, specificOptions);