首页 > 解决方案 > 设置“view”属性时,如何防止 jquery easyui scrollview 扩展崩溃?

问题描述

我正在制作一个报告系统,其中一些报告的大小只有几行,而其他报告可能有数十万行或更多。为了防止数据过多导致极度滞后和崩溃,我尝试将 datagrid-scrollview 扩展集成到页面中。

但是,这样做会阻止数据网格加载任何数据,即使它是从服务器检索的。挖了一下,我发现这是因为要使用scrollview,我们必须将datagrid的“view”选项设置为“scrollview”。此选项已设置并包含一堆方法。将其设置为 scrollview 会删除所有这些方法,并且在 jquery.easyui.min.js 的第 11188 行(可能因不同的版本和扩展而异?)其中一种方法,“render”,在调用堆栈的某处被调用“加载数据”。

function _7a0(_7e6,data){
var _7e7=$.data(_7e6,"datagrid");
var opts=_7e7.options; // at this line, opts already contains "view"
...
...
...
if(opts.view.onBeforeRender){
opts.view.onBeforeRender.call(opts.view,_7e6,data.rows);
}
opts.view.render.call(opts.view,_7e6,dc.body2,false); // this line fails
opts.view.render.call(opts.view,_7e6,dc.body1,true);
...
...
...
} // function _7a0 ends

我的情况的其他背景:

是否可以使此设置与 datagrid-scrollview 一起使用?是什么导致“视图”已经被填充?

标签: datagridjquery-easyui

解决方案


推荐阅读