我在整个Web应用程序的不同位置使用jqGrid。 我想使用指定的列宽(我不想更改它以避免换行/文本截断),如果特定网格的列宽总和超过页面宽度,我希望滚动条出现在网格上,而不是页面上。 jqGrid 选项是否可以做到这一点,或者需要一些额外的 javascript,因为我无法获得这种行为。
您可以通过设置网格的宽度选项来限制网格的宽度(还要记住您需要在选项中设置shrinkToFit: false
),例如:
$('#gridId').jqGrid({
...
shrinkToFit: false,
width: $(document).width()
});
这也可以使用setGridWidth
方法动态更改(例如在页面大小调整时):
$('#gridId').jqGrid('setGridWidth', $(document).width())
我不确定我是否理解您的正确:有很多意见是设置网格宽度的最佳方法。
通常,如果您想像colModel
中指定的那样具有精确的列宽度,您应该使用shrinkToFit: false
而不是使用和width
jqGrid选项。如果您不希望用户能够更改列标题之间分区的拖放和拖动,则可以对某些列使用 fixed: true 属性。
此外,我建议您阅读另一个答案,其中描述了如何修改jqGrid的代码,以便在用户调整列大小后调整网格的总宽度。我不确定你是否想要这种行为。我个人使用这种方法。