We experienced the same problem. The problem still appears in v4.3.1.
It may be better to set both p.page and p.lastpage to a numeric value.
In grid.base.js the following lines (1104 in v4.3.1) could be changed from:
But the problem only occures in combination with the npage extension?
If so, then it would suggest that the problem isn't that it is processing old responses after more recent ones.
i.e. it would either be an issue with the actual request being generated or when it's processing the response (e.g. it may request overlapping pages and when processing the response it may not handle that correctly at assumes that the response needs to be appended in full)
(Unofrtunately I won't have the time to debug that issue right now)
Thank you for pointing this out.
The other issue seems to have different cause. I'd suggest to keep them separate.
(I don't think our users will use ctrl+end)
Perhaps a workaround to the other problem is to ignore the page if it is the same as the last one. But it would be better to prevent that before requesting the page.
I managed to add the pull request (change id: I15fa3b5b9269403262eb5c9fa3b62122ae6158e6).
I also followed your suggestion to use npage which seem to work fine (it does always appear to be requesting 2 pages).
Thank you for reproducing the issue.
I should have mentioned that I configured the height of the grid to be still less than 10 rows. i.e. 10 rows should fill a page.
I wasn't sure whether my fix would work for page boundaries although I couldn't produce any issue with it. I don't know why it would be blank though.
(The patch seem to be applied correctly)
If you're setup is public I'd be happy to have a look myself as well.
(Of course, I'd be more than open for any other kind of fix)
Thank you for your response.
In my example I've set rowNum to 10 which will make multiple concurrent requests more likely (we'll increase rowNum eventually). So with a rowNum of 80 it might be more likely to happen by moving the scrollbar around randomly.
Ultimately you'll have to get the server to take longer to respond for one of the requests though to be able to reproduce the issue.
While I was debugging it I added logging and got the following results:
GET http://…/?…0&page=19&…
I believe I identified the issue. It seems it can be best reproduced by just pressing the mouse down on the scrollbar for a while (so that it will issue multiple requests in a short time). Sometimes an older request may take a little longer and arrives after a more recent page request.
The issue didn't occure anymore after I amended the populate function (in grid.base.js) to remember the page number at request time and then compare it with the page number requested last before processing the result (ajax success).
e.g.:
var pageNo = ts.p.postData.page;
Copyright 2014 TriRand LtdAll Rights ReservedRSS
Back to Top