jqgrid控制列的隐藏显示,怎么使table的宽度不变?

迷糊蛋 发布于 2016/09/08 10:59
阅读 618
收藏 0

jqgrid属性:  

width:

Grid的宽度,如果未设置,则宽度应为所有列宽的之和;如果设置了宽度,则每列的宽度将会根据shrinkToFit选项的设置,进行设置。  

 shrinkToFit:

此 选项用于根据width计算每列宽度的算法。默认值为true。如果shrinkToFit为true且设置了width值,则每列宽度会根据width 成比例缩放;如果shrinkToFit为false且设置了width值,则每列的宽度不会成比例缩放,而是保持原有设置,而Grid将会有水平滚动 条。  

autowidth:

默认值为false。如果设为true,则Grid的宽度会根据父容器的宽度自动重算。重算仅 发生在Grid初始化的阶段;如果当父容器尺寸变化了,同时也需要变化Grid的尺寸的话,则需要在自己的代码中调用setGridWidth方法来完 成。  这些属性只能是保证第一次时的宽度,当浏览器大小变化如还想让表格宽度自适应,就需要用jqgrid的方法setGridWidth,它有两个参 数,new_width,shr,当第二个参数不设置时会按照shrinkToFit的设置值或默认值,而第一个参数则要设置的新的宽度值,所以在些可用 js实现对浏览器宽度变化的自适应:  

$(function(){   

$(window).resize(function(){  

$("#analyDataTab").setGridWidth($(window).width()*0.99);  $("#charDataTab").setGridWidth(document.body.clientWidth*0.99);  

});  

 });  

我用了这个方法,但是显示隐藏的时候表格会跳动一下,(就是表格先缩短,然后再恢复原来的宽度),怎么样才能使隐藏显示列的时候,表格内部剩余的列直接按照比例增加宽度来填充table.

加载中
返回顶部
顶部