How to locate the data in the middle of the column- uitable?
    17 views (last 30 days)
  
       Show older comments
    
Im trying to make a table by using uitable. How can I put the data in the middle of the column instead of the matlab defult- in the right? thanks
1 Comment
  Jan
      
      
 on 21 Sep 2015
				What does "put" mean here? Do you mean the initial position of the cursor or do you define the "Data" property of the uitable?
Answers (2)
  Jasmine Poppick
    
 on 17 Mar 2023
        Starting in R2019b, you can specify table text alignment using addStyle. Create a style object with a specified HorizontalAlignment value using uistyle. You can then add the style to the whole table, or to specific rows, columns, or cells.
For example:
fig = uifigure;
t = uitable(fig,"Data",magic(3));
s = uistyle("HorizontalAlignment","center");
addStyle(t,s)
  Walter Roberson
      
      
 on 21 Sep 2015
        You have to convert those entries to strings. Then see http://www.mathworks.com/matlabcentral/answers/2928-how-do-you-align-numbers-within-a-column-in-uitable#answer_4498
and remember to set a monospaced font.
See also http://www.mathworks.com/matlabcentral/answers/8613-how-to-align-text-in-a-table-cell#answer_12108
uitable supports HTML, but it is not easy to get it to center items. Supposing you have a cell array of strings STRINGS, then:
numpixels = 50;
cells_for_table = strcat(sprintf('<html><tr align=center><td width=%d>', numpixels), STRINGS(:));
set(handles.uitable1, 'Data', cells_for_table);
0 Comments
See Also
Categories
				Find more on Develop Apps Using App Designer in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



