簡體   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