uitable formatting (cell borders, color,comma style)

24 views (last 30 days)
Hello,
Questions on uitable:
1) how to add cell borders on the table(data area)? I tried to use findjobj, but not sure which one to call in here http://www.mathworks.com/matlabcentral/fileexchange/14317
2) how to add color on column and row header(not the BackgroundColor/ForegroundColor), if it is possible.
3) how to change data format, so instead of 2e+04, I prefer 20,000 (the comma style)
Anyone knows how to code all that? Thanks in advance!

Accepted Answer

Walter Roberson
Walter Roberson on 13 Aug 2012
You can use HTML in the columnname parameter.
columnname = {'<FONT color="green">Rate</FONT>', ....}
The leading '<HTML>' must be present for this to work.
I do not know that you can affect the cell borders. You could experiment with using HTML for the data cell array (which requires that the entries be strings), but since the HTML affects only one cell at a time, I do not know if you will be able to affect the borders.
  4 Comments
Azzi Abdelmalek
Azzi Abdelmalek on 13 Aug 2012
it's just the string which is colored, then if you have string with differents length, you will have different colored width, which is not presentable

Sign in to comment.

More Answers (2)

Babak
Babak on 13 Aug 2012
Open the GUI with GUIDE first, then double click on the table. A window named property inspector will open up.
Property inspector for uitable has a few options like "column editable". If you click ont he right side of this option, a new window named "Table Property Editor" opens up.
In the forth pane of this window you can setup the colors.
In the first pane named "columns" you can see the columns you have created (or if you have not yet created any column you can start creating them here) there is a place where it says "Format" where if you click on the optionsyou can change the data type of the data you put in the columns.you can even create a custom data type.
Hope that helps but I don't understand why one needs to add grid in the cells of the table and never heard of it.
  4 Comments
Zoe Zhang
Zoe Zhang on 13 Aug 2012
Edited: Zoe Zhang on 13 Aug 2012
Thanks Babak, I am actually doing the same thing. But after I ran this exact same example on help, I found the result on my computer differ from what I see in the help. And the differences are 1 and 2, which are my questions. In the example, the row header is in grey but mine is just in white (Q2). Also there are cell borders in the example, but mine has no border (Q1).
Zoe Zhang
Zoe Zhang on 13 Aug 2012
i am not sure whether it is due to version difference. But just to clarify again, I am asking for ways to change color on the column and row header, not the BackgroundColor. And I am asking for the cell border for the data area.
Thanks!

Sign in to comment.


Azzi Abdelmalek
Azzi Abdelmalek on 13 Aug 2012
% h=uitable(...)
to set a color
set(t,'BackgroundColor',[.8 .5 .9],'ForegroundColor',[0 1 0]);
%[0 1 0] RGB color
  2 Comments
Zoe Zhang
Zoe Zhang on 13 Aug 2012
Hi Azzi, I am looking for ways to change color on the column and row header, not the BackgroundColor/ForegroundColor. Do you know ways of doing that? Thanks!
Himanshu Verma
Himanshu Verma on 19 May 2020
Zoe Zhang, did you find any solution to the above question you've asked? I need to change the font color of each row with different colors without using 'uistyle' and 'addStyle'. Also, html code doesn't seem to be working with uifigure (works with figure);

Sign in to comment.

Categories

Find more on Interactive Control and Callbacks in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

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

Start Hunting!