How to change horizontal alignment of column names in UITable

45 views (last 30 days)
I know I can use the uistyle function to change the horizontal alignment of text of each cell of an UITable. But I am struggling to change the alignment of column names. I want the column names to be 'centered' but they are always aligned 'left'.
I have 2 code examples with a little bit different behaviour.
Example A
d = {'Male',52,true;'Male',40,true;'Female',25,false};
f=figure;
uit=uitable(f);
uit.Data = d;
Example B
d = {'Male',52,true;'Male',40,true;'Female',25,false};
f=uifigure;
uit=uitable(f);
uit.Data = d;
In example A I always get a table with centered column names, in example B I always get a table with column names left aligned. In both examples I don't know how to change the alignment. But I only need a solution for example B because in my new work I have to use uifigures instead of figures.

Accepted Answer

Dyuman Joshi
Dyuman Joshi on 13 Jul 2023
Use uistyle to add alignment to the uitable -
d = {'Male',52,true;'Male',40,true;'Female',25,false};
f = uifigure;
uit = uitable(f);
uit.Data = d;
s = uistyle('HorizontalAlignment','center');
addStyle(uit,s,'table','')
  3 Comments
Dyuman Joshi
Dyuman Joshi on 13 Jul 2023
Edited: Dyuman Joshi on 14 Jul 2023
Center justification of uitable column names is not possible.
There is a workaround which you can try - Refer to this Answer
Michael
Michael on 14 Jul 2023
Thanks for the hint to this workaround. I have just read it and I think this will work but I haven't tried it yet.
And thanks for investigating my problems.

Sign in to comment.

More Answers (0)

Categories

Find more on Environment and Settings in Help Center and File Exchange

Products


Release

R2022b

Community Treasure Hunt

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

Start Hunting!