treeTable - create a sortable table control with collapsible row groups

Create a sortable Java-based tree-table GUI control having collapsible/expandable data row groups
Updated 6 Aug 2013

View License

htable = treeTable (pnContainer, headers, data, 'PropName',PropValue, ...)

Input parameters:
pnContainer - optional handle to container uipanel or figure (default: gcf)
headers - optional cell array of column header strings
data - optional numeric or cell array of data values
'PropName',PropValue - optional list of property-value pairs: Container, Headers, Data, IconFilenames, ColumnTypes, ColumnEditable, Groupable, InteractiveGrouping

(see internal help section for details)

Output parameters:
htable - handle to Java tree-table object

Important features:
* Table is fully sortable (multiple columns via ctrl-click on header)
* Table can be flat or hierarchical (grouping)
* Interactive grouping (like in Outlook)
* Editable drop-down (selector) option
* Table columns are automatically resized to fit the available width
* Table columns are rearrangeable by dragging the headers right/left
* Table columns can be resized by dragging their divider gridlines (not just the header)
* User-defined icons for leaf rows and grouping rows (expanded/collapsed)
* Sample data update and row selection callbacks included; user can attach custom callbacks

This code heavily relies on undocumented and unsupported Matlab functionality. It works on Matlab 7+, but use at your own risk!

Bugs and suggestions:
Please send to Yair Altman (altmany at gmail dot com)

Technical details of the implementation can be found at

Cite As

Yair Altman (2024). treeTable - create a sortable table control with collapsible row groups (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2010b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on Migrate GUIDE Apps in Help Center and MATLAB Answers

Inspired by: Java-based data table

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes

Forgot a couple of important Java files in the previous uploads, sorry about that...

Added InteractiveGrouping option to enable interactive column grouping as in Microsoft Outlook