-
Notifications
You must be signed in to change notification settings - Fork 295
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Using Scrollbar on OnDemandGrid with many rows Causes JavaScript Error #195
Comments
We're having trouble reproducing this issue (trying with |
I was able to reproduce this issue. I've seen it occur in the latest Chrome and Firefox and running on OS X Lion. Using test/performance.html in its current form, I was not able to reproduce it. In our implementation, one of our columns uses the editor plugin and loads in a dijit/form/CheckBox, so I added that to the test and was still unable to reproduce it. I increased the number of rows to 100,000 and still no error. I tried switching the store to dojo/store/JsonRest and it appears that the combination of having an editor field and using JsonRest does reproduce the issue. I did try getting rid of the editor column and it seemed to be ok again. I have created a gist containing my modified version of performance.html and the simple server I used to return the data. |
I don't know if this is strictly related, but I was getting errors myself when scrolling fast on a large grid with editable fields. I noticed it was a server side error because the requested range was "negative". i.e. the store requested items "300-275" instead of "275-300". It only happened sometimes, and I don't know why dgrid would request it in inverse order, but check to see if this is what's happening. |
I tried a number of different ways, and can't seem to reproduce this at all. I used the provided test case, just porting it to PHP and still didn't have any luck. I can't get the test case to trigger this error at all. |
I was able to reproduce it too or found something similar... As nicknisi wrote, it happens when the scrollbar grabbed and dragged quickly. found two solution for that 1, In the List.js insertRow function: so replace the conditon if(previousRow){
// in this case, we are ...
this.adjustRowIndices(previousRow);
} to if(previousRow && ((previousRow.className + ' ').indexOf("dgrid-row ")>-1) ){
// in this case, we are ...
this.adjustRowIndices(previousRow);
} 2. Or set the grid queryRowsOverlap property to 0. Hope it helps. |
I'm having the same issue, can reproduce very consistently. I'm using a JsonRest store. The problem goes away when reverting back to 0.3.0. |
We tried the latest and the only thing that worked for us was to go back to 0.3.0 that @mvaerle mentioned. |
Using the latest everything (dgrid, dojo 1.9, etc.) I am still able to reproduce this bug. I have updated the gist with my reproducible example from earlier https://gist.github.com/nicknisi/2993553 Additionally, here is a video of the bug in action: |
we were able to reproduce it as well and also fix it |
When there are a large number of rows (I'm testing with 2000 rows) and the scrollbar is used to quickly scroll down, the following JavaScript error occurs:
This error occurs on line 58 of dgrid/Grid.js
In this instance, I believe that target should be a row in the grid, but instead it is the grid container itself.
target is passed as a parameter in the following way:
row is undefined and this is causing the error.
If the grid is scrolled with the mousewheel, this never happens. It is only when the scrollbar is grabbed and then dragged quickly.
The text was updated successfully, but these errors were encountered: