Question

I have been looking at multiple posts addressing the same issue. Before moving to remotely filtering data from the store and feeding them into the gridpanel, is there any solution yet :

  • To display about 10000 records in one go in the grid panel view.
  • To Use column filtering in the grid to filter all of these records.
Was it helpful?

Solution

The two approaches are at cross purposes- when looking at a dataset of this size, you need to think about using a buffered grid/store. The whole point of buffered grids is that the underlying dataset is too large to load simultaneously into the grid without introducing substantial overheads (typically in DOM complexity, secondarily for JS processing). As such, by its very nature data is buffered and loaded in chunks. Introducing local filtering/sorting as a layer on top of this is thus not appropriate due to the fact it would be applied to only the current chunk, so when the next chunk of records was fetched they would not subscribe to the filter/sort indicated by the GUI/that the user expects. You thus end up with a disjointed UX.

You therefore have a few approaches:

  1. Use a paginated grid - with local filtering/sorting on each page, still produces less than ideal UX, but at least in some way it is semi-logical

  2. Use no pagination/buffering and simply load all your records and then do local filtering/sorting, this isnt really a scalable solution and is more trying to escape doing work to put in solid foundations for your app

  3. Use a buffered grid/store and implement server-side filtering/sorting, given your requirement, this is clearly the recommendation- and shouldnt be too hard to implement

So the short answer is NO- the recommendation being to use a buffered grid/store with remote filtering/sorting.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top