Announcement

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

    List Grid not displaying paginated scroll bar with huge dataset

    Hi Isomorphic,

    I have a paginated ListGrid with 50 records pagination and it is coming correctly

    But If the totalRows is of size 2096055, it shows only 50 records and does not allow the user to see more records by scrolling down, but with less number of total rows it is working fine

    My DSResponse is:

    endRow:50,
    totalRows:2096055,
    isDSResponse:true,
    invalidateCache:false,
    status:0,
    startRow:0

    #2
    Wow, even the reminder right next to the text entry box still doesn't guarantee that people post versions, it seems.

    On what browser are you seeing this effect, and with what exact version of SmartClient?

    Comment


      #3
      Hi Isomorphic,

      I am sorry about that.

      I am seeing this behavious on Mozilla Firefox version 3.6.2

      On IE8, it is giving me error,
      Stop running this script, otherwise the computer will become unresponsive

      Comment


        #4
        Smart Client version is

        SmartClient Version: 7.0rc2 (built 2009-05-30)

        Comment


          #5
          OK, the bug with Firefox was a core regression in Firefox 3.0 that was worked around in the 8.0 code line, however, you're likely to run into the script running slowly dialog with IE showing a scrollbar for that many rows (it actually does not have to do with code efficiency - IE will sometimes show that dialog in less that a second due to a flaw in the way the browser measures script execution).

          The best overall approach, which also improves server-side scalability, is to use the 'progressive loading" technique covered in the ResultSet docs under "Paging and total dataset length". If you are using the SQLDataSource, all you need to do is add DMI logic to reduce totalRows to the lesser of endRow + one pageSize, or the totalRows value you find in the DSResponse.

          Comment


            #6
            Thanks for the update Isomorphic

            Comment


              #7
              First of all sorry to bring this old post into life.

              I found the same issue with 8.2 version as well but fixed using the progressive loading approach as mentioned in the docs but there is some issue in a special user interaction.

              Progressive Loading Implementation:

              If I found that there are more than 10,000 records in the database, I send the totalRows in response as 10,000 which result in a nice scroll bar in my grid. If user scrolls all the way down, and endRow in the result becomes closer to 10,000, I start sending a totalRows as something endRow + 10 * pageSize. This results in scrollbar to scroll a little up in the grid automatically and leave a space where user can scroll it again and everything works fine.

              Issue:

              But If I scroll all the way down and then all the way up and again all the way down, this time the scroll bar remains at the end and leave no room for user to scroll further and hence no more fetching. This is reproducible all the time.

              Note: I only send startRow and totalRows in the response.

              I will appreciate any advice on this.

              Comment


                #8
                Check the RPC tab and make sure you do not have an RPC response where you've set totalRows too low.

                If the problem is still happening and you think it's a framework issue, we need some way to reproduce this - try modifying a sample and see if you can reproduce the same behavior. Be sure to mention all relevant versions and what browser(s) are affected as well.

                Comment

                Working...
                X