Javascript Jqgrid检索所有数据,但有奇怪的行为

Javascript Jqgrid检索所有数据,但有奇怪的行为,javascript,jquery,jqgrid,Javascript,Jquery,Jqgrid,在jqgrid中,我使用这部分代码从jqgrid表中获取所有数据: var allRowsInGrid = $('#table_outgoing_calls_report').jqGrid('getGridParam','data'); 当I console.log allRowsInGrid时,它显示所有数据并显示表数据计数的实际长度。但是我尝试使用这个数组(allRowsInGrid),它只显示我在屏幕上看到的数据。此外,如果我尝试console.log allRowsInGrid.len

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

var allRowsInGrid = $('#table_outgoing_calls_report').jqGrid('getGridParam','data');
当I 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”和“data”。首先从服务器加载数据后,可以使用数据。例如,您可以在
loadComplete
内部或
beforeProcessing
回调内部使用。我建议您另外阅读,它描述了
loadComplete
gridComplete
之间的区别。在大多数情况下,
gridComplete
不是好的选择

此外,
loadComplete
不仅会在从服务器首次加载后调用。它将在以后的每次本地排序、分页和筛选/搜索时调用。如果需要在从服务器加载数据后执行一次操作,那么在处理之前执行回调是很好的。它包含在jqGrid处理数据之前从服务器返回的完整数据。例如,可以在处理回调之前修改或扩展
中的数据,jqGrid将看到修改后的数据,就好像它是从服务器返回的一样

还有一个选项-将一些代码放入
loadComplete
if($(this).jqGrid(“getGridParam”,“datatype”)!==“local”){…}
中。它允许在处理从服务器加载的数据并显示第一页后执行某些操作。

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

此外,
loadComplete
不仅会在从服务器首次加载后调用。它将在以后的每次本地排序、分页和筛选/搜索时调用。如果需要在从服务器加载数据后执行一次操作,那么在处理之前执行回调是很好的。它包含在jqGrid处理数据之前从服务器返回的完整数据。例如,可以在处理
回调之前修改或扩展
中的数据,jqGrid将看到修改后的数据,就好像它是从服务器返回的一样


还有一个选项-将一些代码放入
loadComplete
if($(this).jqGrid(“getGridParam”,“datatype”)!==“local”){…}
中。它允许在处理从服务器加载的数据并显示第一页后执行某些操作。

问题不在于您做什么,而在于何时何地使用
'getGridParam','data'
。首先从服务器加载数据后,可以使用
数据
。例如,您可以在
loadComplete
内部或
beforeProcessing
回调内部使用。请在关于jqGrid的所有问题中另外写下您使用的jqGrid版本和fork(、商业版或@Oleg版本中的旧jqGrid,你完全正确。我只是在gridComplete函数中使用了getGridParam。非常感谢。你可以回答这个问题,我将答案标记为正确。问题不在于你做什么,而在于你何时何地使用
“getGridParam”、“data”
。你可以在加载数据后使用
数据首先从服务器开始。例如,您可以在
loadComplete
内部或
处理前的
回调内部使用。请在有关jqGrid的所有问题中另外填写您使用的jqGrid版本和fork(,商业版或旧版@Oleg中的jqGrid,你完全正确。我刚刚在gridComplete函数中使用了getGridParam。非常感谢。你可以回答这个问题,我将答案标记为正确。