【发布时间】:2016-03-15 15:41:34
【问题描述】:
当我尝试使用 JSON 作为数据源将大约 10000 条数据记录加载到 JQGrid 时遇到一个问题。
此时浏览器冻结或没有响应大约 5 分钟。我的自定义加载器也与浏览器一起挂起,页面进度未显示。
如果 JQgrid 的渲染需要一些时间,那没关系,但我想至少显示我的加载器正在旋转以了解进度。
尝试了所有这些方法来让加载器旋转。但没有任何效果。
谁能帮我在渲染 Jqgrid 时显示加载器。
loadui : "disable",
loadtext: "Loading...",
beforeRequest : function () {
$("#testGrid").block();
$('.loading').show();
$("#testGrid").closest(".ui-jqgrid").find('.loading').show();
$(".loading").css("display", "block");
$(this).block({
message: '<img src="/images/loader.gif" />',
}); },
谢谢,
【问题讨论】:
-
您使用哪个版本的 jqGrid 以及来自哪个分支(free jqGrid、Guriddo jqGrid JS 或版本 rowNum)?您是否有
loadComplete或gridComplete回调(通常是瓶颈)?网格有多少列? ... jqGrid 中数据的纯处理应该像the demo 一样快(13 列,40000 行,一页 20 行)。 -
@Oleg gridComplete 花费了大量的时间来渲染行,因为我们对每一行进行了大量的设计验证。我有 20 列和 10,000 条记录。
-
@Oleg 我没有使用分页之王,所有数据都必须一次性处理。或者有什么方法可以在 ggridcomplete 事件中显示加载器?
-
永远不要在循环中为
loadComplete和gridComplete中的每一行做一些事情。永远不要修改loadComplete和gridComplete内部的网格。应该使用rowattr、cellattr和自定义格式化程序直接生成您需要的内容。应始终使用本地数据分页。我建议将rowNum设置为 10-25。它不应该更多,因为可以在监视器上显示行数。如果您遵守规则,您将获得 jqGrid 的良好性能。 能否包含您使用的代码(loadComplete和gridComplete)? -
@Oleg 这是我在 gridcomplete 中实际使用的代码..
标签: javascript jquery json jqgrid