App Designer: Format headings on uitable

36 views (last 30 days)
Samuel Thompson
Samuel Thompson on 9 Jan 2018
Edited: Eric Delgado on 19 Jun 2023
The table below is a uitable created within App Designer that has been modified using the following code:
app.UITable2.ColumnName = {'node iD', 'X', 'Y', 'Z'};
app.UITable2.ColumnWidth = {80, 80, 80, 80};
nodeindex = (1:1:length(app.D.Coord))';
nodeid = num2cell(nodeindex);
Xcoord = num2cell(app.D.Coord(1,:)');
Ycoord = num2cell(app.D.Coord(2,:)');
Zcoord = num2cell(app.D.Coord(3,:)');
app.UITable2.Data = [nodeid Xcoord Ycoord Zcoord];
I wish to do two things:
  1. Format the column headers (modify text font and weight, text colour and background)
  2. Centrally align the data within the table.
Any help would be appreciated. I have searched through the documentation and other similar answers but have found nothing as of yet that seems to work.
Thanks in advance, Sam

Answers (2)

Eric Delgado
Eric Delgado on 19 Jun 2023
Edited: Eric Delgado on 19 Jun 2023
I am not sure if it is still an issue to you guys, but I wrote ccTools, a lib that turns possible the customization of the header of the uitable (and a lot of more things, like a new filterable table class). I hope it helps! :)
f = uifigure;
g = uigridlayout(f, 'RowHeight', {'1x'}, 'ColumnWidth', {'1x'});
t = uitable(g, 'Data', table("#"+string((1:100)'), (1:100)', (1:100)'+.1, (1:100)'+.001, (1:100)'+.00001, randn(100,1)));
drawnow
ccTools.compCustomization(t, 'backgroundHeaderColor', '#52555c', ...
'borderRadius', '10px', ...
'fontFamily', 'Times New Roman', ...
'color', 'white');

ES
ES on 9 Jan 2018
Edited: ES on 9 Jan 2018
You can use html to format the headings, values in table!
You may start here https://undocumentedmatlab.com/blog/gui-formatting-using-html
  3 Comments
Ramiro Massol
Ramiro Massol on 29 Jan 2021
HTML is not yet recognized in AppDesigner R2020b, so no way yet to format column/row headers in uitable.
Adam Danz
Adam Danz on 25 May 2021
This answer shows how to create a UITable within a UIFigure (eg, app designer) that appears to have formatted column names. It moves the column names into the first row of the data and the applies formatting to make it appear as though the first line of data is actually a table header. The same logica can be applied to row names.

Sign in to comment.

Categories

Find more on Migrate GUIDE Apps in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!