gpt4 book ai didi

javascript - 行 : 5571 Error: Not enough storage is available to complete this operation

转载 作者:行者123 更新时间:2023-11-28 00:11:18 26 4
gpt4 key购买 nike

我收到“没有足够的存储空间来完成此操作。”尝试在 jqGrid 中添加数据(20K 记录)时出错。此问题出现在 IE 9 中。

enter image description here

enter image description here

代码:

//此行向jqgrid添加20k条记录

    $.when(GetDataBySelectedCode())
.done(function (ResultData) {
if (ResultData!= null) {//able to get result here
BindDataInGridNoLimit(ResultData);
}

}).fail(function (xhr, textStatus, errorThrown) {
if (textStatus != 'abort') {
//todo: error message
}
});

function BindDataInGridNoLimit(data)
{
DataGrid[0].addJSONData(data);//fails while adding data
}

调用堆栈

enter image description here

环境:

  • ASP.NET Web 表单、Visual Studio 2012、jqGrid 4.6.0、IE 9、jquery1.11.1
  • 在 jqGrid 中,我没有启用分页,因为这是来自的要求最终用户。

观察结果:

a) 具有 20K 条记录的相同代码在 Chrome 中运行良好。b) 具有数百条记录的相同代码在 IE 9 中运行良好。

问题:

此问题与 jqgrid 和 IE 9 组合有关吗?如何解决这个问题?

如有任何建议/解决方案,我们将不胜感激。

最佳答案

在我看来,您试图在没有本地分页的情况下添加大量数据。它没有真正的意义,速度很慢,用户必须滚动到下面才能看到数据。使用较小的 rowNum 值会更有效,该值指定页面的大小并使用 datatype: "local"loadonce:true数据类型:“jsonstring”。用户需要单击“下一页”按钮才能查看下一部分数据。这是一个小缺点,但使用滚动条滚动网格行也需要时间。其主要优点是:数据将作为纯 JavaScript 数据保存在本地。 DOM 大小不会有任何问题(没有这样的错误)。您获得的最重要的优势是:更好的性能。我怀疑用户几乎会立即看到第一页数据,将鼠标悬停在行上会很快,并且滚动数据也会很快。

我建议您打开树演示,所有加载 jqGrid 中的 90000 行数据。 The first demo显示 25 行,您可以轻松滚动超过 4500 页数据。 The second grid显示 90000 行中的 1000 行,用户可以向下滚动查看 1000 行,并且用户可以使用本地分页浏览 90 页(每页 1000 行)。如果您尝试打开the last demo它尝试一次显示所有 90000 行,您将等待很长时间,最后可能会收到一条错误消息。

对我来说很清楚,我的建议意味着更改代码和更改用户界面。另一方面,应该清楚的是,在网格中填充数千行没有多大意义。没有人会滚动并读取所有数据。 2-5页的数据绝对足够了。网格应该只有过滤器工具栏,以便用户可以填充数据并显示他真正感兴趣的一小部分数据

关于javascript - 行 : 5571 Error: Not enough storage is available to complete this operation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30852810/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com