scroll programmatically within uitable

I am starting to build an app suing the AppDesigner and need to deal with a fairly large uitable (>1000 rows).
In some cases it would be nice to scroll within this table to a certain row or cell programmatically.
https://ch.mathworks.com/help/matlab/ref/matlab.ui.container.tree.scroll.html shows that in 2020a there is now the function scroll, which allows scrolling e.g. within a list box to a certain item.
Is there a way to do the same within a uitable (created using the AppDesigner)? If not, if there a plan to add this in the near future?

 Accepted Answer

Adam Danz
Adam Danz on 10 Aug 2020
Edited: Adam Danz on 10 May 2021
A function (findjobj) on the file exchange supports programmatic scrolling on uitables when the uitable is embedded in a regular figure (demo here).
However, this method is not supported in uifigures (used by AppDesigner) for reasons explained in this answer.
Update! Matlab R2021a now supports programmatic scrolling in UITables
You can programmatically scroll to any row, column, or cell of a uitable using the scroll function.
Examples: uit is the uitable handle.

More Answers (1)

The scroll syntax in 20a only works in uifigures (the underlying figure used by app designer). Simply call it in a callback or function in the app.

4 Comments

@Sean de Wolski, I played around with the scroll function for a bit but I don't see how it can be used to scroll to a certain row within a UITable. The documentation shows how to scroll within a list box or tree node and I can see how this function could be extended to do the same with UITables, which would be great, but I couldn't get it to scroll within a uitable.
In cases where the scroll function is supported in app designer, users also have to turn "scrollable" on in the app's UIFigure.
Ahh. I was confusing regular figure with uifigure, not lack of support for uitables... Disregard (for now!)
Looking forward to the "yet" part. Lots of people have asked how to programmatically scroll to a certain row and column of a uitable.
Thank you for all the feedback. Now I'm sure I didn't miss something and it's really not (yet) supported.
For me it's just a nice-to-have feature, so no drama. Of course, once scrolling within UITable is supported, I'll happily add it to my app.

Sign in to comment.

Categories

Find more on Develop Apps Using App Designer in Help Center and File Exchange

Products

Release

R2020a

Asked:

on 10 Aug 2020

Edited:

on 10 May 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!