1. #1
    Sencha User
    Join Date
    Sep 2012
    Posts
    31
    Vote Rating
    0
    paritalak is on a distinguished road

      0  

    Default How to handle/show 80,000 records in Grid

    How to handle/show 80,000 records in Grid


    I have a requirement where I need to show lot of data(80,000 records) in the Grid.
    On top of it I need to give Sorting, Filtering capabilitites.

    I tried loading the whole data with paging 200 and not loading the data.
    I tried reducing data and max I can show is 5000 records.

    Can somebody help me how to handle this large set of data in Grid. Do I need to do Serverside data fetch each time?

    Please direct me with some startup point. Not getting ideas on how to handle.

  2. #2
    Sencha User existdissolve's Avatar
    Join Date
    Jan 2010
    Location
    Kansas
    Posts
    522
    Vote Rating
    86
    existdissolve is just really nice existdissolve is just really nice existdissolve is just really nice existdissolve is just really nice existdissolve is just really nice

      0  

    Default


    Quote Originally Posted by paritalak View Post
    I have a requirement where I need to show lot of data(80,000 records) in the Grid.
    On top of it I need to give Sorting, Filtering capabilitites.

    I tried loading the whole data with paging 200 and not loading the data.
    I tried reducing data and max I can show is 5000 records.

    Can somebody help me how to handle this large set of data in Grid. Do I need to do Serverside data fetch each time?

    Please direct me with some startup point. Not getting ideas on how to handle.
    Yes, you will definitely want to page the data, and for that you'll need to request the next set of data from the server.

    There are a lot of examples, but here's one with paging: http://docs.sencha.com/extjs/4.2.0/#!/example/grid/paging.html

    On a more important level, though, you might rethink how you are approaching the task. You may have 80,000 records, but obviously you don't need all of them at once (or maybe ever)...and if even if a manager "insists" that they need all of them, there's no way they can meaningfully interpret 80,000 records.

    Because of that, it might be better to start your grid's store with a few default filters, just to keep the initial record count to a reasonable level. Telling the user that there are 80,000 records to page through is not helpful, but telling them that they have 2 pages of 25 records each is. So if there are ways to start the grid off in an already-filtered manner, you might have more success

    And of course, you can always add or change filters via an input form. The point is, though, that for usability purposes, don't think about your data set in terms of the whole...think of it in terms of what is important to the people who will be using the app. Chances are, such considerations will give your opportunities to filter that total recordset by 90% right off the bat.

    Best of luck!

  3. #3
    Touch Premium Member suzuki1100nz's Avatar
    Join Date
    Apr 2011
    Location
    New Zealand
    Posts
    450
    Vote Rating
    66
    suzuki1100nz is just really nice suzuki1100nz is just really nice suzuki1100nz is just really nice suzuki1100nz is just really nice

      0  

    Default


    Hi,

    We have an app with a grid that accesses a collection of > 50 000 records.
    We use the ExtJS buffered grid - http://docs.sencha.com/extjs/4.1.3/#...ffer-grid.html

    With some tuning as outlined in the performance guide the grid works extremely well.

    See: Grid Optimizations here http://docs.sencha.com/extjs/4.1.3/#!/guide/performance

    Also see this post: http://www.sencha.com/forum/showthre...rolling-in-4.1

    Sorting has to be implemented serverside (typically the server has far better hardware and will do a far quicker job of sorting large data sets).
    Once the server has sorted the data it can tell the grid to reload its data store which will fetch the first page of sorted data.
    To do this client-side with the number of records you dealing with would not be feasible.
    (i.e Trying to drag down 80 000 data store records would take forever).

    We can dynamically sort 50 000 items and reload the grid data store in under 10 seconds.

Thread Participants: 2