2011-09-23 105 views
1

我正在使用smartgwt api的Listgrid。我已經使用setShowFilterEditor()在列表網格上設置過濾器編輯器。在用戶界面上,我可以使用列表頂部顯示的過濾器編輯器過濾掉特定列中的文本。直到這一切,一切工作正常。但在此之後問題就開始了。我的ListGridRecords是ScreenInstanceGridRecord類型。smartgwt過濾器編輯器問題

我清空了使用方法clearCriteria得到ListGridRecord從ListGrid前過濾標準(),這樣我可以保存所有記錄到數據庫即。未經過濾的記錄。當我嘗試使用getRecordList(),1000 從列表網格中獲取記錄時,第一次迭代就會添加虛擬記錄,我所有填充的記錄都將被忽略。我需要的是ScreenInstanceGridRecord類型的記錄。但在第二次迭代時,我得到我填充的記錄是ScreenInstanceGridRecord類型。爲什麼會出現這個問題。我應該在第一次迭代時獲得ScreenInstanceGridRecord,當我嘗試使用getRecordList()從ListGrid獲取記錄。我不知道這個奇怪的事情。任何幫助從你身邊是最受歡迎的.. plss

回答

1

當你說你得到1000個虛擬記錄而不是你的加載記錄,實際上,你的記錄根本沒有加載。在這種情況下,由ListGrid創建的ResultSet(請參閱ListGrid.fetchData()的文檔)將返回一個臨時長度(默認爲1000)並返回加載標記來代替Records(請參閱ResultSet.rowIsLoaded())。

數據加載完成後,使用DataArrived事件來採取行動。通常,請參閱ResultSet.lengthIsKnown()以瞭解如何確定數據尚未加載。

+0

謝謝@charles。你讓我的問題解決了。乾杯 – ankit