繁体   English   中英

Jqgrid检索所有数据但行为异常

[英]Jqgrid retrieves all data but have strange behavior

在jqgrid中,我使用这部分代码从jqgrid表中获取所有数据:

var allRowsInGrid = $('#table_outgoing_calls_report').jqGrid('getGridParam','data');

当我console.log allRowsInGrid时,它显示所有数据并显示表数据计数的实际长度。 但是,然后我尝试使用此数组(allRowsInGrid),它仅显示我在屏幕上看到的数据。 此外,如果我尝试console.log allRowsInGrid.length,它会显示我看到的数据长度。 我使用json数据类型和loadonce:true。 尝试了一切,但无济于事。 这段代码:

 var allRowsInGrid = $('#table_outgoing_calls_report').jqGrid('getGridParam','data');
        console.log(allRowsInGrid);
        console.log(allRowsInGrid.length);

显示如下: 在此处输入图片说明

有谁知道这怎么可能?

问题不在于您在做什么 ,而在于何时 何地使用“ getGridParam”,“数据”。 您可以先从服务器加载数据后再使用数据。 例如,您可以在loadComplete内部或beforeProcessing回调内部使用。 我建议您另外阅读旧的答案 ,它描述了loadCompletegridComplete之间的区别。 在大多数情况下, gridComplete不是一个好选择。

而且, 不仅在第一次从服务器加载后 ,将调用loadComplete 稍后将在每个本地排序,分页和过滤/搜索中调用它。 如果从服务器加载数据后需要一次执行某些操作,则在beforeProcessing回调之前是好的。 它包含jqGrid处理数据之前从服务器返回的完整数据 例如,可以在beforeProcessing回调内部修改或扩展数据,并且jqGrid将看到修改后的数据,就好像它是从服务器返回的一样。

if ($(this).jqGrid("getGridParam", "datatype") !== "local") { ... }一种选择-将一些代码放在if ($(this).jqGrid("getGridParam", "datatype") !== "local") { ... }内的loadComplete 从服务器加载的数据处理完毕并显示第一页 ,它允许执行一些操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM