使用 jqGrid 显示滚动条,当网格最初宽于页面时



我在整个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的代码,以便在用户调整列大小后调整网格的总宽度。我不确定你是否想要这种行为。我个人使用这种方法。

最新更新