我正在使用jqGrid作为大型mongo数据库的前端。用户想要使用jqGrid过滤器来查看数据库中的数据。我确信当我们实施它时,它表现良好。过滤器已经传递并应用于mongo数据集,一切都运行良好。
但是现在如果他们将滚动条拖动到网格中的中点,则需要很长时间才能获取记录以填充该视图。我打开了与我们的mongo数据库接口的ajax的日志记录,以记录来自jqGrid的页面请求。 mongo中的此数据集包含大约54,000行。
当网格首次加载时,它会正确地要求数据库中的第1页。如果我慢慢向下翻页,它会要求填写我的视口所需的每个页面。如果我快速将滚动条拖动到中点并释放它,jqGrid会在拖动滚动条和我释放它的位置之前请求我所在页面之间的每个页面。在这种情况下,我从第1页开始,它询问了第2,3,4,5,6,......,460页。这是大约460个单独的页面请求。
我认为我们最初对此进行了测试,并发现它正在跳过它不需要的页面,并直接进入我们发布滚动条所需的页面。
我是否错误地了解虚拟滚动的工作原理?它是否请求从文件开头到我想要查看的页面的每个页面?我似乎无法在文档中或通过谷歌搜索找到这种详细程度,看看它应该如何表现。
答案 0 :(得分:0)
谢谢托尼。诀窍是你设置滚动选项。真或1(一)有非常不同的行为。从滚动选项的文档"创建动态滚动网格。启用后,将禁用寻呼机元素,我们可以使用垂直滚动条来加载数据。设置为true时,网格将始终包含从开始到访问过的最新点的所有项目。当滚动设置为整数值(示例1)时,网格将保持可见线。"