I've found a workaround for this problem. Instead of changing the foreground, I'm changing the background. The background color of each row is saved in a matrix containing the RGB values of each row of the table. This matrix is passed as a 'BackgroundColor' argument while displaying the uitable.
How to change the color of uitable 'row-wise'?
26 views (last 30 days)
Show older comments
Himanshu Verma
on 15 May 2020
Answered: Himanshu Verma
on 26 Aug 2020
I have a tool which plots data based on the user selection. The tool plots the line on 3 graphs and I've created uitable which displays the properties of the plotted line. I want to update the color of the text of the row according to the color of the line plotted. The table should get updated whenever a new line is plotted as well as the color of that one row only should change. How can I do that?
function tab_input(ui_table,cell_1a,cell_1b,cell_2,cell_3)
cell_1 = strcat(cell_1a,cell_1b,cell_1a);
existingData = get(ui_table,'Data');
tempData = {cell_1,cell_2,cell_3};
newData = [existingData;tempData];
set(ui_table,'Data',newData,'ForegroundColor',ci_color(cell_2));
end
In the above code, I want to append the table as well as, I want to change the textcolor of the current row only, whereas the color or the previous row (if any) should remain unaltered. Please suggest a workaround.
0 Comments
Accepted Answer
More Answers (1)
Jyotsna Talluri
on 18 May 2020
Edited: Jyotsna Talluri
on 18 May 2020
You can make use of uistyle and addstyle functions
Refer to the documnetation link below
4 Comments
See Also
Categories
Find more on Migrate GUIDE Apps 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!