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
2.5K Downloads
Updated 6 Aug 2013

View License

Syntax:
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

Warning:
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 http://UndocumentedMatlab.com/blog/treeTable

Cite As

Yair Altman (2024). treeTable - create a sortable table control with collapsible row groups (https://www.mathworks.com/matlabcentral/fileexchange/42946-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
Categories
Find more on Migrate GUIDE Apps in Help Center and MATLAB Answers
Acknowledgements

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
1.3.0.0

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

1.2.0.0

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

1.0.0.0