在jqGrid中,您可以将scrollOffset区域设置为始终显示

时间:2011-11-08 19:11:39

标签: jquery jqgrid

我在jqGrid scrollOffset区域显示了一个按钮,如我的第一个屏幕截图所示。但是在第二个屏幕截图中你会注意到,当没有足够的结果来填充网格时,滚动条会消失,而scrollOffset区域会随之移动。有没有办法欺骗jqGrid始终显示scrollOffset区域。

enter image description here

1 个答案:

答案 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的更多信息herehere

结果你当然不会看到jqGrid的相同外观,但网格的高度不会改变,搜索和列选择器按钮将位于顶部并始终可见。因此,所有主要问题都将得到解决,您将拥有标准 jqGrid。

更新2 :您可以遵循的另一种方法是在jqGrid的末尾添加一列并通过

隐藏它
navButtonAdd

而不是典型的{name: 'last', width: 22, sortable: false, resizable: false, search: false, cellattr: function () {return ' style="display: none"'} } 。它将保留列标题和搜索工具栏中的某些位置。因此,您可以在不破坏一般网格结构的情况下添加一些自定义元素:

enter image description here

参见演示here