我在jqGrid scrollOffset区域显示了一个按钮,如我的第一个屏幕截图所示。但是在第二个屏幕截图中你会注意到,当没有足够的结果来填充网格时,滚动条会消失,而scrollOffset区域会随之移动。有没有办法欺骗jqGrid始终显示scrollOffset区域。
答案 0 :(得分:2)
如果我理解你是正确的,你可以包含以下CSS,这将强制创建滚动条
<style type="text/css">
.ui-jqgrid .ui-jqgrid-bdiv { overflow: scroll; }
</style>
更新:我从here查看了您的演示。我不喜欢你自定义jqGrid的搜索工具栏和列标题,因为你在网格标题中添加了额外的列,这在网格体中不存在,jqGrid不知道。我觉得这太危险了。
我建议您改用toppager: true
参数。在当前代码中,您使用“keyword-grid”作为网格ID,使用“keyword-grid-toolbar”作为寻呼机。如果您使用toppager: true
选项,则根本不需要<div id="keyword-grid-toolbar">
。而不是jqGrid将为顶部寻呼机本身创建div。网格的id将从网格id和文本“_toppager”构造。在你的情况下,它将是id =“keyword-grid_toppager”的div。
因此,您应删除jqGrid的pager: "#keyword-grid-toolbar"
参数,并将'#keyword-grid-toolbar'
替换为您使用的'#keyword-grid_toppager'
和navGrid
的{{1}}。
您可以阅读有关toppager的更多信息here和here。
结果你当然不会看到jqGrid的相同外观,但网格的高度不会改变,搜索和列选择器按钮将位于顶部并始终可见。因此,所有主要问题都将得到解决,您将拥有标准 jqGrid。
更新2 :您可以遵循的另一种方法是在jqGrid的末尾添加一列并通过
隐藏它navButtonAdd
而不是典型的{name: 'last', width: 22, sortable: false, resizable: false, search: false,
cellattr: function () {return ' style="display: none"'} }
。它将保留列标题和搜索工具栏中的某些位置。因此,您可以在不破坏一般网格结构的情况下添加一些自定义元素:
参见演示here。