jqGrid 虚拟滚动,拖动滚动条,请求所有页面



我正在使用jqGrid作为大型mongo数据库的前端。 用户希望使用 jqGrid 筛选器查看数据库中的数据。 我敢肯定,当我们实施它时,它表现良好。 过滤器已经传递并应用于 mongo 数据集,一切正常。

但是现在,如果他们将滚动条向下拖动到网格中的中点,则需要很长时间才能获取记录以填充该视图。 我打开了与我们的mongo数据库接口的ajax的日志记录,以记录来自jqGrid的页面请求。 mongo 中的此数据集包含大约 54,000 行。

当网格首次加载时,它会正确请求从数据库中获取第 1 页。 如果我慢慢向下翻页,它会要求填充我的视口所需的每一页。 如果我快速将滚动条拖动到中点并释放它,jqGrid 会请求拖动滚动条之前所在的页面与我释放它的位置之间的每个页面。 在这种情况下,我从第 1 页开始,它要求第 2、3、4、5、6、...、460 页。这是大约 460 个单独的页面请求。

我以为我们最初对此进行了测试,发现它跳过了不需要的页面,并直接转到我们发布滚动条所需的页面。

我弄错了虚拟滚动的工作原理吗?它是否请求从文件开头到我想看的页面的每一页? 我似乎无法在文档中或通过谷歌搜索找到这种程度的细节,以了解它应该如何运作。

谢谢托尼。 诀窍是您将滚动选项设置为什么。 True 或 1(一(具有非常不同的行为。 从滚动选项"创建动态滚动网格"的文档。启用后,页面元素将被禁用,我们可以使用垂直滚动条加载数据。设置为 true 时,网格将始终保存从开始到最晚访问点的所有项目。 当滚动设置为整数值(示例 1(时,网格将只保存可见线。

最新更新