Posted 14 September 2017, 12:01 pm EST
We have been wrestling with a FlexSheet implementation which worked incredibly well with 50 rows, but has been quite a challenge now that we’ve scaled to 50,000 rows. The majority of our latency problems have been coming from selecting a large quantity of cells during copy & pasting. I’m thinking that I might be able to get around that performance limitation by implementing paging. Showing 50 rows on the screen instead of 50,000 seems to solve that problem, but in my testing the paging does not seem to be working right with filtered rows. In the attached test example, filter out the rows with Size of “Small” to get 15 rows on the screen. Click the “Forward” button once or twice to see that the grid has no rows. It’s not until the third “Forward” click that rows are shown in the grid again. So it appears that the pageSize is limiting the rows to the next 20 in the CollectionView even if the applied filter dictates that you should not see those rows. I would expect that when rows with “Small” are filtered out that we should see 20 rows which don’t match that criteria. So on the first screen we SHOULD see rows 1-15 & 61-65, then clicking “Forward” once should show rows 66-85. Paging into pages with no rows when there are rows in the requested dataset is very confusing. Can you please let us know if there is an efficient way to achieve this? Our whole point to adding paging is to reduce response latency, so any solution must support 100,000 rows of overall data.
This is a Pure JavaScript implementation and our JavaScript versions are as follows:
jQuery: 1.91
Wijmo: 5.20163.234
JsZip: 2.2.1
Bootstrap: 3.3.7
2017/04/TestApp.zip
