1. #1
    Ext User
    Join Date
    Jan 2009
    Posts
    543
    Vote Rating
    0
    dbassett74 is on a distinguished road

      0  

    Default No "high-performance" grid planned?

    No "high-performance" grid planned?


    I'm a little disappointed to see that the roadmap makes no mention of an improved grid. As we all know, the current Grid implementation falls flat on its face with more than several hundred records, due to the fact that it is using a table for each row. I know that Animal has created an alternative single table grid. But, I really think this should be a core offering in ExtJs to be more competitive.

    So my question for the ExtJs team, have you decided to just let this be a third party fix, or do you ever plan on taking a serious look at improving the performance of the grid? After all, the purpose of a grid is to show data and as we all know, this world is producing more and more data, not less. So a grid is expected to be able to easily handle hundreds, if not thousands of items. I see that there is a TreeGrid planned for the next release, which is WAY cool and something we can very much use. I just hope the performance is up to par.

  2. #2
    Sencha - Ext JS Dev Team evant's Avatar
    Join Date
    Apr 2007
    Location
    Sydney, Australia
    Posts
    17,159
    Vote Rating
    674
    evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute

      0  

    Default


    Have you looked at the ListView component?
    Evan Trimboli
    Sencha Developer
    Twitter - @evantrimboli
    Don't be afraid of the source code!

  3. #3
    Ext User
    Join Date
    Jan 2009
    Posts
    543
    Vote Rating
    0
    dbassett74 is on a distinguished road

      0  

    Default


    Doesn't work for me as it is lacking a lot of the functionality that the GridPanel, such as grouping, horizontal scrolling, editing, column moving, etc.

  4. #4
    Sencha - Ext JS Dev Team evant's Avatar
    Join Date
    Apr 2007
    Location
    Sydney, Australia
    Posts
    17,159
    Vote Rating
    674
    evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute

      0  

    Default


    That's kind of the point. The grid is so complex ~because~ it supports features like that. The ListView was intended as a compromise for simple read-only data.
    Evan Trimboli
    Sencha Developer
    Twitter - @evantrimboli
    Don't be afraid of the source code!

  5. #5
    Ext User
    Join Date
    Jan 2009
    Posts
    543
    Vote Rating
    0
    dbassett74 is on a distinguished road

      0  

    Default


    But do these features necessitate the use of a table for each row? Why can't the same features be accomplished with a single table? I guess I could see that Grouping may require the use of individual tables for each group, by why a table for each and every row? Seems like it may have been a time to market issue as it was probably much easier to implement this way, but in the end, the impact on performance is tangible.

  6. #6
    Sencha - Ext JS Dev Team Animal's Avatar
    Join Date
    Mar 2007
    Location
    Notts/Redwood City
    Posts
    30,545
    Vote Rating
    64
    Animal is a jewel in the rough Animal is a jewel in the rough Animal is a jewel in the rough

      0  

    Default


    I think that a lighterweight DOM structure using just a <table> is possible for a GridView BoxComponent which may then have all the capabilities of the Ext.GridPanel added as individual plugins.

    Grouping should be possible using a row with a single <td colspan="total no of columns">

    I've made a start, but I don't have time to add everything.

  7. #7
    Ext User
    Join Date
    Jan 2009
    Posts
    543
    Vote Rating
    0
    dbassett74 is on a distinguished road

      0  

    Default


    Okay Animal, maybe we can just run with yours. I will hopefully have time to contribute to the effort as time goes on.

  8. #8
    Sencha - Training Team mrsunshine's Avatar
    Join Date
    Sep 2008
    Location
    Germany - Darmstadt
    Posts
    691
    Vote Rating
    12
    mrsunshine will become famous soon enough

      0  

    Default


    Quote Originally Posted by dbassett74 View Post
    I'm a little disappointed to see that the roadmap makes no mention of an improved grid. As we all know, the current Grid implementation falls flat on its face with more than several hundred records, due to the fact that it is using a table for each row. I know that Animal has created an alternative single table grid. But, I really think this should be a core offering in ExtJs to be more competitive.
    .
    Do you test the bufferGridview in ext 3 where only the grid view + buffer is rendert in the dom?

    an other approach is the livegrid.

  9. #9
    Ext User
    Join Date
    Jan 2009
    Posts
    543
    Vote Rating
    0
    dbassett74 is on a distinguished road

      0  

    Default


    I don't like the behavior of the buffered grid view as it constantly loads data as you scroll up/down. I haven't tried the live view yet though. What I would REALLY like to see is something like what Yahoo Mail does. Essentially, they seed the grid with the total number of rows for each email, but only actually load a certain amount. As you scroll, you can then see some rows being dynamically populated from the server. These rows then remain static in the grid, and don't get removed, as it does in the ExtJs buffered view. I think the way the buffered view was implemented is completely unusable. Sorry, just MO....

  10. #10
    Sencha - Training Team mrsunshine's Avatar
    Join Date
    Sep 2008
    Location
    Germany - Darmstadt
    Posts
    691
    Vote Rating
    12
    mrsunshine will become famous soon enough

      0  

    Default


    Quote Originally Posted by dbassett74 View Post
    I don't like the behavior of the buffered grid view as it constantly loads data as you scroll up/down.
    thats the behavoir off a livegrid http://www.ext-livegrid.com/

    the bufferd view (grid) loads like in the example 500 rows but only render the 10 rows in the view (http://extjs.net/deploy/dev/examples/grid/buffer.html)

    but i share your opinion that buffer grid view which reloads data and keep it in the store would be also useful.