MATLAB Answers

Jan Simon

Wanted features for UITABLE and UITREE

Asked by Jan Simon
on 20 Dec 2011

Currently the power of uitable and uitree is very limited.

Which features are missing to improve the usability of your GUIs?



No products are associated with this question.

7 Answers

Answer by Matt Kindig
on 5 Feb 2013
 Accepted answer

It would be nice to be able to update the contents of a single uitable cell without "flicker". As it stands now, it is easy to modify the 'String' property of a uicontrol, call a drawnow(), and have it immediately update without flicker. To do the same in a uitable, you have to update the entire 'Data' cell array for all cells, causing flicker on the refresh. Also, when this occurs, the uitable scrolls back to its top-most position, which is confusing and distracting for the user.

  1 Comment

Jan Simon
on 8 Apr 2013

I accept this answer, because the unwanted scrolling is the most unintuitive feature of UITABLES.

Answer by Jan Simon
on 1 Mar 2012

Some further ideas:

  • Colored cells. Using the HMTL method to define a color looks ugly, when the contents of a cell is edited.
  • Possibility to sort rows and columns.
  • Context menus for elements of uitree and uitable.
  • Scrolling of a specific node/row/column to the visible area/top line.
  • Get the scroll position.
  • Checkboxes in uitree nodes.
  • Export of the column width such that it can be stored for re-opening a GUI.
  • Setting the contents of individual cells without changing the selection status. E.g. when the HTML-method is used to set the appearance of a cell, the HTML tags could be removed in the pre-selection callback. But therefore the complete data must be clean and updated, which clears the selection status automatically.
  • Set the selection status programmatically.
  • Select a row or column.
  • Change the line width and color of the separator lines.
  • When I look in the documentation, I even do not find uitree immediately: Techdoc: user interface objects. So at least the current versions should be documented.

All these features are available in the Java-level, but Yair's findjobj needs more than a second to locate the handle and there is no guarantee, that it works in future versions also. See Undocumented: uitree. It would be much smarter if these important objects can be accessed from Matlab exhaustively and with documentation as well as support.


Answer by Walter Roberson
on 20 Dec 2011

uicontrol('Style','edit') and uitable cells should support a "PICTURE" input validation field; the field could be a string containing a % format, or a string containing a regex, or the handle of a routine. The validation would be "live", as characters are typed, with user notification (e.g. a beep, with provision made for visual notification for the deaf) as soon as they enter the wrong character.

drag-and-drop. Extended cut-and-paste (e.g., blocks of table)

Ability to find out which uitable cells are visible, and ability to set the scrollbars so that a particular part is visible.

Embedded 'vi' editor mode.


Answer by Jette
on 1 Mar 2012

I'd like to have an additional Property 'RowEditable' similar to the property 'ColumnEditable'. Both properties should work at the same time such that the user is only allowed to change certain submatrices of the entire table.

Other things I'd like to have:

  • selection of entire rows and columns by clicking on the header
  • the possibility to change the background color of single cells
  • a context menu for each cell or at least for each column

Concerning uitree: This function is not even a supported function. It would be extremely nice to have an "official" uitree function in MATLAB.

  1 Comment

Jan Simon
on 5 Mar 2012

Apart from beeing "extremly nice" to have a powerful and supported uitree, it would allow to create GUIs with a modern and efficient structure. I see tree objects since the TOS of the Atari ST: 1985! Now, after 27 years it is the right time to support this interface object in Matlab also.

Answer by khaled DAWOUD on 24 Aug 2012

puting the cursor in specific cell of uitable in the matlab is not provided.This is really important of disp and controling the data in uitable.

  1 Comment

on 4 Dec 2012

I agree that it is very important to select a cell programmatically. I just came across this issue and can't believe that this is not possible.

Answer by Tom
on 5 Feb 2013

Having a button up/ button down callback, or some way of determining whether the user is selecting single or multiple cells would be really useful.


Answer by Jan Simon
on 6 Aug 2013

See the excellent submission: FEX: TreeTable:


Imagine how disastrous an corresponding approach with several horizontally ordered listbox- uicontrol would look.


Join the 15-year community celebration.

Play games and win prizes!

Learn more
Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!