PDA

View Full Version : Infinite grid showing not more than 64000 records in IE8 browser



jagan_baliah
2 Jul 2012, 2:28 PM
Hi
I had a look at the example and implemented an infinite grid (around 100,000 records) which works fine in all browsers major browsers except for IE8.

Can someone help me to know whether there is any memory restriction for variables (for example the totalCount variable in Store class ) used and is there a way to have that corrected. I suspect the memory/size restriction because the infinite grid stops exactly at 63,999th record.

Thanks in advance.
- Jagan

scottmartin
6 Jul 2012, 11:09 AM
What version of ExtJS are you using? Have you seen the following article that explains how the buffering grid operates?
http://www.sencha.com/blog/optimizing-ext-js-4-1-based-applications

Have you tried using the demo that allows you to specify different configurations?

Scott.

clearbasis
6 Jul 2012, 11:54 AM
I am having the same issue. My understanding, after extensive review of similar issues with other components we have used, is there are height limits on scrollable elements in the browser, and this varies by browser. The 64,000 in this case is based on the row height in the grid x the total rows in the result set (virtual). I tested this by forcing the row height to almost triple the height and my limit was 24,100. There may be a way to solve this by tweaking the scroller to not measure the virtual size against the total number of rows all at once, but rather do it in chunks based on the scroller position and the current starting record position. Just a thought - but I am testing this approach today. It is causing major pain amongst our client base. Thanks - greg

helder
19 Jul 2012, 8:20 AM
It's OK until we have no more than 63000.

jagan_baliah
19 Jul 2012, 8:55 AM
Scott - Thanks for your reply. I have been using ExtJS 4.0.7 and addressed most of the scrolling issues sometime before. As I said in my earlier post, I don't have any issues using this version of ExtJS except that the infinite grid works fine in all other browsers except for IE8.

Greg - Thanks for the clear explanation on what is causing the problem. I will check the workaround on how to restrict the scroller to not measure the virtual size against the total number of rows all at once and will post my observations/results soon. Thanks once again.

Mandeep
24 Sep 2012, 7:30 AM
We are also having the same issue and I believe this is happening because IE-8 has a max limit of 1,342,177.27px on the height of a div and due to that scroll bar of infinite grid cannot be more than this max height. Is there any workaround for this issue as we are planning to use Ext 4.1 for our grids but we really need to show more than 200K rows in our grids.

scottmartin
24 Sep 2012, 8:55 AM
It may be the limit. I am going to ask the dev team to comment to make sure.

Scott.

Mandeep
28 Sep 2012, 7:21 AM
Scott,

Any update on this?

Mandeep

scottmartin
1 Oct 2012, 4:45 AM
I will ping them again, sorry for the delay.

Scott.

Animal
14 Oct 2012, 1:35 AM
If IE really does have a hard limit on DIV size, then I cannot see a way we can scroll that depth.

If the browser cannot do it, then we cannot do it.

Animal
14 Oct 2012, 2:01 AM
I think though, that it's a limitation on the style height of a div. So in 4.2 we are using a different method to "stretch" the scroll area which does not rely on height.

We'll check this works on 100,000 records on IE8 before we ship 4.2

Animal
23 Oct 2012, 10:41 AM
I have an 80,000 row grid working on IE7:

https://s3.amazonaws.com/uploads.hipchat.com/9804/25186/tsq8tjum16yd03m/Screen%20Shot%202012-10-23%20at%2019.31.33.png

Had to use a buffered store rather than a fully locally loaded store with just buffered rendering because IE doesn't like building up 80,000 rows worth of JSON string to load through mock Ajax!

But with that many records, you are probably going to be going buffered anyway.

jordandev
5 May 2014, 8:58 AM
I am experiencing this issue with 4.2.2 so it doesn't look like it was fixed after 4.2 like was mentioned? We are definitely using a buffered store not just a renderer.