【问题标题】:jqGrid virtual scrolling, drag scrollbar, requests all pagesjqGrid虚拟滚动,拖动滚动条,请求所有页面
【发布时间】:2018-01-27 15:43:25
【问题描述】:

我使用 jqGrid 作为大型 mongo 数据库的前端。用户想要使用 jqGrid 过滤器来查看数据库中的数据。我确信当我们实施它时它表现良好。过滤器已被传递并应用于 mongo 数据集,一切正常。

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

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

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

我对虚拟滚动的工作原理有什么误解吗?它是否请求从文件开头到我想查看的页面的每一页?我似乎无法在文档中或通过谷歌搜索找到该级别的详细信息,以了解它应该如何运作。

【问题讨论】:

  • 最好知道使用的是哪个版本的 jqGrid。这会有很大帮助。 Guriddo jqGrid 没有遍历每一页的例子可以找到here

标签: jqgrid


【解决方案1】:

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

【讨论】:

  • 这就是我们要求的原因,因为很难重现每个有问题的情况。
猜你喜欢
  • 1970-01-01
  • 2012-03-29
  • 2012-10-05
  • 2020-11-13
  • 1970-01-01
  • 2012-09-04
  • 1970-01-01
  • 1970-01-01
  • 2021-10-07
相关资源
最近更新 更多