Re: [Flashcoders] DataGrid Component Performance
Scott, It is build to handle thousand of rows, but there a couple of issues. Population of the datagrid is slow as molasses. You might be able to short circuit your way into some better performance, but it's a crapshoot. I did some tests on this a while back and posted about it on my blog. Might be worth a read for anyone who needs to populate a datagrid with a lot of information. http://dynamicflash.com/2006/01/efficiently-populating-a-datagrid- control/ Also, don't even bother trying to sort. It might be interesting to try delegating sorting to the server and getting a permutation vector back...but even then, it might give you trouble. Well, if you've got enough records to make population and sorting a performance issue, I'd suggest that fetching those same records again from the server whenever you needed to sort them would be even less desirable. Also, column sorting is limited to string sorts. When I needed more complex sorting behaviour, I achieved it by subclassing DataGridColumn (might be named differently, it's been awhile) and hooking into the header's press handler. You could have set sortOnHeaderRelease to false and then responses to the headerRelease event to sort the data. At least that's what we're doing. -- Steve Webster Head of Development Featurecreep Ltd. http://www.featurecreep.com 14 Orchard Street, Bristol, BS1 5EH 0117 905 5047 ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] DataGrid Component Performance
Also, don't even bother trying to sort. It might be interesting to try delegating sorting to the server and getting a permutation vector back...but even then, it might give you trouble. Well, if you've got enough records to make population and sorting a performance issue, I'd suggest that fetching those same records again from the server whenever you needed to sort them would be even less desirable. Never mind - I see now you weren't advocating getting all the rows back, just some magic information that helps you manually sort the array. -- Steve Webster Head of Development Featurecreep Ltd. http://www.featurecreep.com 14 Orchard Street, Bristol, BS1 5EH 0117 905 5047 ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
RE: [Flashcoders] DataGrid Component Performance
Actually, you can define a compare function for the datGrid to use, then check in your function if you are going to compare numbers or strings and go from that on. I did that some time ago, if anyone is interested int he code I´ll be glad to share. I´ve used the DataGrid on my example for the SQLite Connector at http://www.Software-and-Solutions.de You might want to give it a try to see how the DG performs. The DB that comes with tbe Example will produce you a very large result set if you try that Query: Select * from City Join Country Limit 1000; Be sure to adopt the Limit to the number of rows you want, if you SELECT without an limit you´ll get back millions of rows... Hit the SELECT button to parse the data into the DG, or the QUERY button to directly show the raw text data, thus allowing speed comparisons hth -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Scott Hyndman Sent: Thursday, March 16, 2006 2:37 AM To: Flashcoders mailing list Subject: RE: [Flashcoders] DataGrid Component Performance It might be interesting to try delegating sorting to the server and getting a permutation vector back...but even then, it might give you trouble. I rethought this. I imagine the issue surrounding the sort is related to the calculations done by the grid, and probably not the sort itself. Scott -Original Message- From: [EMAIL PROTECTED] on behalf of Scott Hyndman Sent: Wed 3/15/2006 8:33 PM To: Flashcoders mailing list Cc: Subject:RE: [Flashcoders] DataGrid Component Performance Expand rows? Like a tree/table idea? No, it can't. It is build to handle thousand of rows, but there a couple of issues. Population of the datagrid is slow as molasses. You might be able to short circuit your way into some better performance, but it's a crapshoot. Also, don't even bother trying to sort. It might be interesting to try delegating sorting to the server and getting a permutation vector back...but even then, it might give you trouble. Also, column sorting is limited to string sorts. When I needed more complex sorting behaviour, I achieved it by subclassing DataGridColumn (might be named differently, it's been awhile) and hooking into the header's press handler. Hope this helps, Scott -Original Message- From: [EMAIL PROTECTED] on behalf of varfoo Sent: Wed 3/15/2006 8:17 PM To: Flashcoders Mailing List Cc: Subject:[Flashcoders] DataGrid Component Performance Anyone have a feel for how this component performs. Can you expand rows? Can it handle thousands of rows? ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
[Flashcoders] DataGrid Component Performance
Anyone have a feel for how this component performs. Can you expand rows? Can it handle thousands of rows? ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] DataGrid Component Performance
What do you mean by expand rows? But I think the answer is no - all grid rows need to be the same height (this height is adjustable, but applies to all rows). The datagrid component can handle many thousand rows, but becomes very unresponsive with a number of columns. In an application which does display a lot of data we limit the grids to a maximum of 15 columns, and this can display 20,000 rows ok. However, whenever the grid needs to do a full redraw (ie sorting a column, resizing a column) it can pause for a couple of seconds. Also, intensive CellRenderers should be avoided, as should any kind of manual row highlighting (ie alternate row colours). Regards, Grant Cox varfoo wrote: Anyone have a feel for how this component performs. Can you expand rows? Can it handle thousands of rows? ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
RE: [Flashcoders] DataGrid Component Performance
Expand rows? Like a tree/table idea? No, it can't. It is build to handle thousand of rows, but there a couple of issues. Population of the datagrid is slow as molasses. You might be able to short circuit your way into some better performance, but it's a crapshoot. Also, don't even bother trying to sort. It might be interesting to try delegating sorting to the server and getting a permutation vector back...but even then, it might give you trouble. Also, column sorting is limited to string sorts. When I needed more complex sorting behaviour, I achieved it by subclassing DataGridColumn (might be named differently, it's been awhile) and hooking into the header's press handler. Hope this helps, Scott -Original Message- From: [EMAIL PROTECTED] on behalf of varfoo Sent: Wed 3/15/2006 8:17 PM To: Flashcoders Mailing List Cc: Subject:[Flashcoders] DataGrid Component Performance Anyone have a feel for how this component performs. Can you expand rows? Can it handle thousands of rows? ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
RE: [Flashcoders] DataGrid Component Performance
It might be interesting to try delegating sorting to the server and getting a permutation vector back...but even then, it might give you trouble. I rethought this. I imagine the issue surrounding the sort is related to the calculations done by the grid, and probably not the sort itself. Scott -Original Message- From: [EMAIL PROTECTED] on behalf of Scott Hyndman Sent: Wed 3/15/2006 8:33 PM To: Flashcoders mailing list Cc: Subject:RE: [Flashcoders] DataGrid Component Performance Expand rows? Like a tree/table idea? No, it can't. It is build to handle thousand of rows, but there a couple of issues. Population of the datagrid is slow as molasses. You might be able to short circuit your way into some better performance, but it's a crapshoot. Also, don't even bother trying to sort. It might be interesting to try delegating sorting to the server and getting a permutation vector back...but even then, it might give you trouble. Also, column sorting is limited to string sorts. When I needed more complex sorting behaviour, I achieved it by subclassing DataGridColumn (might be named differently, it's been awhile) and hooking into the header's press handler. Hope this helps, Scott -Original Message- From: [EMAIL PROTECTED] on behalf of varfoo Sent: Wed 3/15/2006 8:17 PM To: Flashcoders Mailing List Cc: Subject:[Flashcoders] DataGrid Component Performance Anyone have a feel for how this component performs. Can you expand rows? Can it handle thousands of rows? ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com