使用JQGrid,是否可以设置默认的colModel以防止重复代码? 例如,而不是
colModel:
[
{name:'name',index:'name',width:80,align:center},
{name:'license',index:'license',width:80,align:center},
{name:'birthday',index:'birthday',width:80,align:center}
]
我们可以将width:80
和align:center
设置为默认值,然后执行
colModel:
[
{name:'name',index:'name'},
{name:'license',index:'license'},
{name:'birthday',index:'birthday'}
]
答案 0 :(得分:2)
是的,这很有可能。请参阅jQGrid的此选项:cmTemplate
基本上,您可以定义希望colModel
使用的任何默认属性。
例如,我们会将每列的默认宽度设置为80
,并将对齐方式设置为center
:
$('#myGrid').jqGrid({
cmTemplate: {
width: 80,
align: 'center'
},
// the rest of your jqgrid setup here
});
现在,在您的colModel
中,每列的默认宽度均为80
,并且center
会对齐。当然,如果需要在给定列中,您可以覆盖刚刚设置的默认值。
答案 1 :(得分:0)
如果你有一个巨大的网格(包含数千行),那么在 cmTemplate 中分配 align:'center'并不是非常理想,因为每个 td -tag将包含样式 - 属性,如下所示:
<td .. style="text-align: center" />
尝试计算1000行标记大小的开销 - &gt; 1000 * 26字节~25kb
我更喜欢使用css-class:
.grid-centered-cells .ui-jqgrid tr.jqgrow td { text-align: center; }
应该应用于覆盖网格的容器
<div class="grid-centered-cells">
<table id="grid"></table>
</div>