Skip to content
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

Grid content disappear when dragging scrollbar on big data sets #219

Closed
JoeOM opened this issue Mar 14, 2018 · 5 comments
Closed

Grid content disappear when dragging scrollbar on big data sets #219

JoeOM opened this issue Mar 14, 2018 · 5 comments

Comments

@JoeOM
Copy link

JoeOM commented Mar 14, 2018

Hi

I love SlickGrid, but unfortunately, the content disappears when you drag the scrollbar adjuster with big datasets. This does not happen in a few other grids which make me think it can also be done in SlickGrid.

DevExpress React grid, for example, does not seem to have this issue...

https://devexpress.github.io/devextreme-reactive/react/grid/demos/featured/virtual-scrolling/

Could the community maybe look into this?

Thank you very much guys!

@6pac
Copy link
Owner

6pac commented Mar 14, 2018

Yeah, I think we've talked about some kind of rate limiting before. I think the events just pile up, and most could be discarded.

The difference between those grids and this one, though, is that they're professionally developed, this one is purely volunteer, and we're all quite busy!

So I'll put this on the 'todo' list. I'm trying to get a web site together for SlickGrid, partly to marshal the community more effectively and make use of those valuable people who might have time to just play with things like this and come up with a viable solution. Sorry I can't do better.

@ghiscoding
Copy link
Collaborator

ghiscoding commented Jul 11, 2023

@6pac
while converting SlickGrid to TypeScript I found that the reason why we always see white section when scrolling large dataset is because of this scroll throttling shown below

var scrollThrottle = ActionThrottle(render, 50);

which is used in the action throttle

SlickGrid/slick.grid.js

Lines 4464 to 4468 in 4b06690

function blockAndExecute() {
blocked = true;
setTimeout(unblock, minPeriod_ms);
action();
}

it looks like you were the person who made this change via this commit
93f043f

do you know why we have to use 50 as a throttling? perhaps we could keep the 50 as default but also provide a grid option? with a grid option we could let the user try for themselves. I tried with 0 throttling and it does seem to cause some kind of UI issues or flickering but using 5 seems like a good number, for example below is with a throttling of 5

brave_oFRK7LNJ2D

BTW, this is the new styling theme 😉

versus the hard coded throttling of 50 which we see the white section appears much more and longer, 50ms seems like a long time for the user to wait for re-rendering

brave_RS5yeyRzYT

@6pac
Copy link
Owner

6pac commented Jul 11, 2023

No recollection of doing this at all (and no commend in the commit :-/ ). Happy with a settable delay and a change to the default.

@ghiscoding
Copy link
Collaborator

ok I'll add it to the TypeScript version only for now, if we ever have other fixes to commit on current version then I could backport it if need be.

ghiscoding added a commit that referenced this issue Jul 12, 2023
- fixes #219 by providing `scrollRenderThrottling` grid option, defaults to 50ms, the user can decrease the throttling and see what is the best fit for them
ghiscoding added a commit that referenced this issue Jul 15, 2023
- an old commit added a scroll throttling to the scroll to 50ms which adds a period of blank screen when scrolling on a large dataset, we should add a grid option to the users if they want to customize this throttling
- the issue was discussed under issue #219
@ghiscoding
Copy link
Collaborator

improvements were made in v5.0, see SlickGrid 5.0 Announcement and Migration

ghiscoding pushed a commit to ghiscoding/slickgrid-universal that referenced this issue Aug 22, 2024
- see SlickGrid [comment](6pac/SlickGrid#219 (comment)) for more info
- a lower thottling delay will show less blank area after scrolling to an uncached scroll position (using the scroll to position it very far down)
- NOTE: a throttling of 0ms causes flickering in some cases, but 5ms seems like a good number to use
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants