If you have not run across this already, the AdvancedDataGrid, and by extension the ExtendedAdvancedDataGrid have poor performance with large number of grouped columns. Another issue is that with really large column groups, you could not really set the width of the grid to a reasonable number. Yet another issue has been jumpy scrolling with the ADG. Since Ultimate has true smooth scrolling, it never had the problem with the width/scrolling. However, Up until 2.2, it shared similar performance issues. But never fear, 2.3 to the rescue.
Whenever you have a library that is used by a large number of developers, there are always corner cases that do not seem feasible at the very outset, but do turn out to be the exact pain point for some folks.
Well, we hit a corner case. Column Groups was a major addition to 2.2, and while they look pretty with and provide ability to group columns, they also come in very handy when you have a large number of columns. Prior to column groups, we had not really considered a case where you would have thousands or even hundreds of columns. Usually we see grids with a few dozen columns max. So, we never really bothered testing and optimizing for a very large number of columns.But in the past 2-3 weeks, we have had a number of folks come to us with this concern.
For those of you who like to know the internals, we do horizontal and vertical renderer recycling. But for the chrome area, we didnt do any. So if you have a 1000 columns, you are looking at creating 1000 cells. If you have 1000 footers, 2000 cells. You get the idea. Well, come 2.3, that's all changing! We've extended full renderer recycling to the chrome cells. So if you have a 100 columns, or a 1000, does not matter anymore.
An example of this will be added shortly. We've created a 1000X1000 table with column groups, The init delay is caused by the instantiation of the actual data ( a million calls to getrandom) but that should be asynchronous in a real world environment with the nice Flex wait clock. Also, newly added is a property to the columnGroup - enableExpand - draws a little expand collapse icon into the group. Nifty functionality. Watch this post for a live example to be uploaded soon.
Also - the driver behind this update is your feedback. You came to us with the issues you are facing, and we ended up providing a solution for it, so you can focus on your business problems, and not worry about stuff like this. This is a WIN-WIN, with our product improving, you getting an out of the box, enterprise ready built and tested component for a fraction of the cost it would have taken for you to build it yourself.
Update: Example link here. Please note, this is the latest development build, so we might have a few bugs, but we're planning on having a fairly polished build around the end of the month. Also, this demo requires Flash Player 10.2. We've made some optimizations where we leverage features only introduced in 10.2. These optimizations are turned on by default. This means, although Ultimate will work with as far back as FP9 (with the optmizations disabled), the demos do require FP 10.2.