jQuery jqGrid是否支持水平滚动条和冻结列?
我有一个包含很多列的jqGrid ,当列宽的总和大于固定宽度容器时,它会显示如下:
如果网格的宽度太大,则不要使用水平滚动条。
如何获得jQgrid的水平滚动条,以便有一个固定的最大网格大小,如果我添加更多列,它将只是滚动?
此外,假设这是可能的,你可以冻结前几列吗?
可能你使用forceFit:true
jqGrid选项。 首先,您应该设置forceFit:false
或使用forceFit:false
shrinkToFit:false
。 之后,您可以使用jqGrid的width
选项或使用setGridWidth方法设置网格宽度。 您将拥有网格,其中列标题对应于列的width
属性,网格将具有水平滚动条。
更新:尝试设置shrinkToFit:false
和width:600
(例如)并查看结果。
仅设置shrinkToFit:false
您可以看到网格将具有水平滚动条。 您甚至可以看到网格足够小,无需滚动即可显示。 这是我在这里发布的错误以及相应的错误修复。 该修复程序包含在GitHub上的代码中,但不包含在jqGrid 3.8.2中。 下一个jqGrid版本将有修复。 然而,出于您的目的,错误的宽度并不重要,因为您将/可以明确地设置网格的width
。
通过使用div包装网格和寻呼机并运行一个小脚本,您可以获得具有静态或自动大小字段的水平滚动条,
你可以看到jsfiddle-example ,或者只是这样:
并运行此脚本:
$('#grid_container div:not(.ui-jqgrid-titlebar)').width("100%");
我的例子是使用来自trirand.com的脚本,但我在最新版本上尝试了它,它运行得很好。
希望我帮助过。
尝试使用流体jqGrid插件 。 也许它可以帮助您解决jqGrid宽度问题。
至于第二个问题,为了冻结前n列,我成功地使用这个超级插件来冻结第一列。 您只为colmodel添加一个属性,它可以正常工作。
祝好运!