当网格最初比页面宽时,显示带有jqGrid的滚动条

时间:2012-11-19 10:16:38

标签: jquery jqgrid

我在整个网络应用中的各个地方使用jqGrid。我想使用指定的列宽(我不想更改它以避免包装/文本被截断),如果特定网格的列宽总和超过页面宽度,我想要一个滚动条出现在网格,不在页面上。使用jqGrid选项是否可行,或者是否需要一些额外的javascript,因为我无法获得此行为。

2 个答案:

答案 0 :(得分:2)

您可以通过设置网格的宽度选项来限制网格的宽度(还记得您需要在选项中设置shrinkToFit: false),例如:

$('#gridId').jqGrid({
    ...
    shrinkToFit: false,
    width: $(document).width()
});

这也可以使用setGridWidth方法动态更改(例如在页面调整大小上):

$('#gridId').jqGrid('setGridWidth', $(document).width())

答案 1 :(得分:0)

我不确定我理解你是否纠正:有很多意见是什么是设置网格宽度的最佳方法。

一般情况下,如果您希望拥有shrinkToFit: false中指定的列的精确宽度,则应使用width而不使用jqGrid的colModel选项。如果您不希望用户能够根据列标题之间的分区的拖放和拖动来更改列宽,则可以对某些列使用fixed: true属性。

此外,我建议您阅读another answer,其中我描述了如何修改jqGrid的代码,以便在用户调整列大小后调整网格的总宽度。我不确定你是否完全想要这种行为。我个人使用这种方法。