我有AdvancedDataGrid小部件的問題。當dataProvider是一個ArrayCollection(陣列),第n個陣列(集合中)也是網格內的第n行,我可以跳躍,現在由腳本AdvancedDataGrid(分組)快速跳轉到行
adg.selectedIndex = i;
adg.scrollToIndex(i);
顯示第i行,當我添加分組時,dataProvider最終成爲GroupingCollection2,現在數據提供者的源中的索引不再對應adg中的索引(這是可以理解的,因爲它已被分組)。
如何有效地選擇和顯示分組數據中的一行?目前,我必須遍歷adg,並將每個找到的項目與其數據屬性進行比較,以便在adg中找到正確的行索引,並像上面一樣跳轉到它。這個過程非常緩慢。有什麼想法嗎?
以後編輯: Shaun表示,我們已經使用了緩存對象,但它仍然沒有補償搜索時間。爲了完全構建一個事物列表的排序(這個問題等同於列表完全由分組重新排序),您總是必須知道整個集合。最後我們沒有解決這個問題。該項目現在結束。如果沒有人在三天內知道更好的方法,我會接受肖恩的答案。
這是滾動ADG選擇和顯示對象給用戶的問題。從字面上看,數以萬計的行被分組爲數千個組。你知道你所尋找的對象的ID很好。 問題是你不知道該對象最後顯示哪一行。說,我們有兩個對象, (38,Jane Doe)和 (39,John Doe), ,它們被分組爲(0,The Does)。你現在有行: [0](0,The Does), [1](38,Jane Doe), [2](39,John Doe)。 您需要跳到第2行以顯示並選擇John。從約翰的指數(39)中找不到簡單的方法。 – 2011-01-11 00:46:31
爲了進一步闡明,爲了構建你提出的那個對象,我仍然需要查看網格中的每一個對象來構建它,這需要很多時間,所以我首先問了這個問題(我們是通過在這樣一個對象中遍歷列表來緩存我們獲得的結果;客戶希望跳轉到第6485個對象的對象行100,所以我們知道緩存中有6485行),但這並不足夠。 – 2011-01-11 02:37:01