1 person found this helpful
Can you provide a few more details about what you are using to hold these individuals?
For our uses, we have thousands of rows (one row per individual) stored in an ArrayCollection (which is the dataProvider for our ADG) and we've setup a search function for the individual name in the row. When a user provides a search string and clicks a "search" button, we simply loop through our array, identifying the row index for every place the search value is found, and storing those indices in a new array. Once that's complete, we simply loop through our indices array and use the adg.scrollToIndex function as well as the adg.selectedItem property to scroll to and highlight the found value. If the indices array has a length > 1, then we change the text of our button from 'search' to 'next' which upon successive clicks just continues to loop through our indices array.
We have also done a more complex version of this using hierarchical data (grouping collection) in and ADG and found success setting up a dictionary and utilizing a cursor handler.
I wanted to know if the arraycollection can handle large amounts of data efficiently.
Well, here is what I can tell you...
In our experience, the arrayCollection is great at handling a ton of data....our largest is about 125 columns X 5000 rows...and no problems on the collection itself, including sorting.
the problems we most commonly encounter occur when we assign that as the dataProvider for an ADG, with or without a groupingCollection...then have any significant number of itemRenderers on that data. That's when we start getting performance nightmares and wicked memory leaks (though Adobe has apparently addressed the memory leak issue that was plaguing the custom itemRenderers).