PDA

View Full Version : Virtual scrolling skipping records.



litewait
12 Nov 2013, 4:43 PM
I have checked my code against the virtual scrolling sample and I can't see the problem. I have a grid that is fed from a store that makes rest requests. I click the down arrow on the scroll and at about 19 records (25 is the limit size) it makes another rest call passing page = 2 limit = 25 and the data being returned correctly. Problem is when I get to the record before the last record of the first page (24th) the scrolling stops and I can click the down arrow a bunch of times and then it jumps up a bunch of records (25+ are missing). Relevant snippets are below:


var store = Ext.create('Ext.data.Store', {
pageSize: 25,
buffered: true,
remoteSort: true,
model: 'Card',
proxy: {
type: 'rest',
url: '/api/cards/',
noCache: false,
startParam: false,
reader: {
type: 'json',
root: 'results',
totalProperty: 'count'
},
writer: {
type: 'json'
}
}
...
var grid = Ext.create('Ext.grid.Panel', {
renderTo: 'griddiv',
width: 1024,
height: 250,
store: store,
verticalScrollerType: 'paginggridscroller',
loadMask: true,
disableSelection: true,
invalidateScrollerOnRefresh: false,
viewConfig: {
trackOver: false
},
...
store.guaranteeRange(0, 24);



Any thoughts?

Piruthu
12 Nov 2013, 10:42 PM
check for duplicate records... faced the same issue when the store got duplicate records.

litewait
13 Nov 2013, 4:29 AM
Duplicate how? The address field is the same, but the id and name field are unique.

Or are you saying the same record is being returned for page 1 and page 2, etc?

I just changed the address to be unique, the data is for all intensive purposes unique on each row. The rest service is not returning any record more than one for a single page # request.

UPDATE: WHOA this is a bug I think, I change the page size to 25 in the sample virtual scroll code and it exhibits the same behavior.

UPDATE: Yes, if I set the page size to 50 I don't see the error. Sencha please ring in on this one. I wasted 20 hours thinking it was my problem :-(

Gary Schlosberg
13 Nov 2013, 7:55 PM
I couldn't find an existing bug like this. What specific version of ExtJS are you using? In what browser are you seeing this issue?

litewait
18 Nov 2013, 1:19 PM
Google Chome EXT JS4 OSS version downloaded a couple days ago.

I just used a page size of 50 and the problem goes away. You can reproduce with the sample virtual scroller app, just set a page size of 20.