在jqgrid中停止可调整大小的列

VJA*_*JAI 6 jqgrid

我如何才能使jqgrid的所有列都不可调整大小?目前我认为每个列都要指定属性{resizable:false}.无论如何,我可以指定整个网格吗?

Ole*_*leg 14

从版本3.8.2开始,jqGrid支持一个非常有用的功能:列模板.(我赞扬这个功能可能不太正确,因为该功能是根据我自己的建议引入的:-)).该功能仍未真正记录,但可以非常轻松地使用.

我在一个例子中解释它.如果您定义其他jqGrid参数

cmTemplate:{resizable:false}
Run Code Online (Sandbox Code Playgroud)

那么你的问题就会解决.

如果你有更多属性在所有colModel项目中都很常见,例如align:'center',它们cmTemplate也会帮助你(cmTemplate:{resizable:false,align:'center'}).在jqGrid 3.8.2 中,模板设置的优先级相对于设置来说是小错误colModel,但是bug在jqGrid 4.0.0中得到修复.因此,属性cmTemplate可以解释colModel项的默认值.

使用jqGrid列模板的另一个版本是以下形式:

var myDateTemplate = {sorttype:'date', formatter:'date',
                      formatoptions: {newformat:'m/d/Y'}, datefmt: 'm/d/Y',
                      align:'center', width:80 }
$("list").jqGrid({
    colModel: [
        ...
        {name:'column1': template:myDateTemplate},
        {name:'column2': template:myDateTemplate, width:90},
        ...
    ]
    ...
});
Run Code Online (Sandbox Code Playgroud)

在这种方式中,您可以定义一些模板(例如myDateTemplate)并在网格(或gids)中的许多位置使用.关于该功能,您可以使代码更短,更易读,更容易更改.