Table Scrolling Issues

Hi,

Platform: Storyboard 7.2, Windows

in our application we have a table the will be filled by LUA depending on the application state.

There it is possible that we have 20 rows in that table or only 1 and we need to enable scrolling.
That works fine in case that we add more rows to the table as we can display. Than we can sroll downward.

But, if the have scrolled down a bit, than refill the table with only one row, this row is not display.
During the refill we set the grd_yoffset to 0, but that does not have the correct effect.
It's also strange that when the table has only 1 row the scrolling "bounce-effect" cannot be triggered, only once we have 2 rows we can trigger the scrolling effect.

If we "pause" the program in the debugger we can query the values and see that grd_yoffset is indeed 0 and scrolling is enabled, but it does nor work.

Also, "manually" trying to scroll up does not work.

If the state of the application changes and we add a 2nd row to that table, now both rows are visible and we can see that scrolling is enabled because of the "bounce" effect.
We alos try forcing a screen redraw -> not effect.

0

Comments

8 comments
  • Hello Martin, 

    Have you tried using the gra.table.navigate action to automatically scroll the table back to the first cell?
    You would just need to set Direction to the option Set and then set Row to 1 and Col to 1:

    It is up to you how you wish to trigger this event it just depends on what works best for your project.

    0
  • Hi Daniel,

    thanks for the fast response.

    I have tried you suggestions it it does not work to 100%.

    This is how it should look like after the "reset_nav" event:

    And this is how it look.

    Any other suggestions?

    Martin

    0
  • Martin, 

    That's strange, I wonder if it could be the result of any padding or bounce being applied

    After some testing on my end, changing the yoffset of the table seems to work the best.

    I know you mentioned that it didn't work for you, but how does it fail exactly?

    In my sample application I resize and reset the offset at the end like so:

    function resize_table()
     local dk_data = {}
     dk_data["rows"] = 5
     dk_data["cols"] = 1
     dk_data["yoffset"] = 0
     gre.set_table_attrs("Table_arrow", dk_data)
    end

    And this works nicely. Is this similar to how you have it set up? 

    0
  • Hi Daniel,

    I use is simmilar but instead of the gre.set_table_attrs I use the variable names and gre.set_data.

    I will try it with the set_table_attrs instead....

    No, does not work either. I does not scroll 100% I can see the bottom of the first line, but not the whole line.

    Martin

    0
  • Hi Martin,

    It sounds like it could be something specific to how your table is set up.

    Would you be able to contact support at support@cranksoftware.com and send your project along so we can take a closer look?

    Daniel

     

    0
  • Hi Daniel.

    That's not so easy. I will try to create a setup which I can send you so that it runs standalone.
    That could take a while.

    Martin

    0
  • Sounds good, Martin
    Since I cannot reproduce the issue you are seeing, it would be very helpful.

    Looking forward to hearing from you.

    Daniel

    0
  • My observation is that the height of the table must be exactly equal to height_of_a_row * number_of_visible_rows. 

    Otherwise, partly visible rows are guessed as "visible" (even if it's just one pixel), and scrolling like stops one row too early than it should.

    0

Please sign in to leave a comment.

Didn't find what you were looking for?

New post