Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    Scroll base Pagination issue for large set of records

    Hi Isomorphic Team,
    We are using the ismorphic version : 6.1-p20170724
    my current functionality uses SmartGWT.
    We are using Google chrome browser latest version.

    We have a grid that has large set of records like 1.3 million. For that grid we have implemented scroll base pagination provided by SmartGWT by setting endRows, startRows and totalRows in DsResponse.

    While fast scrolling till middle/bottom of grid there are several request generated by front end due to which our server hangs. Is there any solution to send only one request to back end corresponding to position of scroll bar in the end?

    One more issue for this large set of data, scroll bar bounces back to middle position even i scroll it to the bottom. Is there any solution for this also?

    Regards,
    Preeti

    #2
    First, test with the latest patched build, as there was a recently fixed issue which could cause too many server fetches during drag scrolling.

    As far as controlling the behavior, you don't want to completely avoid fetches during drag scrolling, because a user that pauses drag scrolling without releasing the mouse will expect data to be fetched. You can however control how soon a server data fetch is issued by manipulating the scrollRedrawDelay and dragScrollRedrawDelay (redrawing triggers a fetch).

    Finally, the issue of bouncing back to a middle position is not reproducible - let us know if you can find a way to reproduce that.

    Comment


      #3
      Hello Team,

      I have tested it with latest patched build of 07/02/2018 nightly build. First issue is working fine. Now only one request is generated.

      Second issue is still there. To reproduce Second issue Please follow following steps:

      1. Make a grid with fetch type paged having 7-8 columns.
      2. In server side assign total records as 1.3 million and set desired amount of empty rows in setData() and set StartRow and set EndRow.
      3. Now while scrolling each request will try to get 75 rows. Now scroll the grid to half of scroll bar.Till now everyhting works fine but after that grid start behaving abruptly.

      After this scroll bar can not go down further more and grid also failed to draw the records. I got this scenario mainly when i reached the limit around 600,000.

      I also got following error in console of browser:

      ISC_Core.js:1198 *14:29:42.241:TMR0:WARN:GridBody:isc_XYZView_15_0_body:This grid is showing 1,300,000 rows. Due to native rendering limitations, grids with this many rows may not appear correctly on all browsers. Consider filtering the data displayed to the user to reduce the total number of rows displayed at a time. This will improve usability as well as avoiding unpredictable behavior.

      Comment


        #4
        Please go ahead and follow the advice in that warning message.

        Unfortunately browser bugs create hard limits here: we need the grid body area to be considered a scrollable region by the browser for scrolling to perform well, but some browsers have bugs where they cannot support a scrolling region this large.

        Since viewing this many rows in a single grid is both useless to end users and expensive for your database, avoiding this situation creates a better UE and better performance anyway.

        Comment


          #5
          See also DataSource.progressiveLoading / progressiveLoadingThreshold for an alternate interaction style that can be turned on only when the number of records exceeds some threshold.

          Comment


            #6
            preeti
            Could you please share some insights about how you implemented Large grid paging?

            How do you set endRows, startRows and totalRows in DsResponse?

            For me, when I scroll in large data grid. Scroll bar goes to the end and does not fetch next page results. How do I make grid aware it has still more records to paginate

            Comment

            Working...
            X