我使用jqGrid作爲大型mongo數據庫的前端。用戶想要使用jqGrid過濾器來查看數據庫中的數據。我確信在我們實施它時表現良好。過濾器已經傳遞並應用於mongo數據集,並且一切工作都正常。jqGrid虛擬滾動,拖動滾動條,請求所有頁面
但現在如果他們將滾動條向下拖動到網格中點,則需要很長時間才能獲取記錄以填充該視圖。我打開了與我們的mongo數據庫接口的ajax的日誌記錄,以記錄來自jqGrid的頁面的請求。 mongo中的這個數據集包含大約54,000行。
當網格第一次加載時,它正確地從數據庫請求頁面1。如果我慢慢向下翻頁,它會要求填寫我的視口。如果我將滾動條快速拖到中點並釋放它,那麼jqGrid會在我拖動滾動條和釋放它的位置之前,請求頁面之間的每一頁。在這種情況下,我從第1頁開始,它要求輸入第2,3,4,5,6,...,460頁。這大約有460個單獨的頁面請求。
我認爲我們最初測試了這個,看到它跳過了它不需要的頁面,並直接進入我們發佈滾動條所需的頁面。
我誤解了虛擬滾動的工作原理嗎?它是否要求從文件開始到我想查看的頁面的每一頁?我似乎無法在文檔中或通過谷歌搜索找到這種程度的細節,看看它應該如何行事。
這是一個好主意,告訴哪個版本的jqGrid被使用。這將有很大幫助。 [Guriddo jqGrid](http://www.guriddo.net)沒有經過每一頁的例子可以在[here]找到(http://www.guriddo.net/demo/demos/jqgrid/paging/scrollbar/) default.php) –