How to change the color of uitable 'row-wise'?

55 visualizzazioni (ultimi 30 giorni)
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];
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.

Risposta accettata

Himanshu Verma
Himanshu Verma il 26 Ago 2020
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.

Più risposte (1)

Jyotsna Talluri
Jyotsna Talluri il 18 Mag 2020
Modificato: Jyotsna Talluri il 18 Mag 2020
You can make use of uistyle and addstyle functions
Refer to the documnetation link below
  4 Commenti
Himanshu Verma
Himanshu Verma il 18 Mag 2020
As an alternative, is it possible to change the background color of each row? It should work like whenever I add a new row, the background color of that row should change as per the value of decision variable (cell_2 in this case).

Accedi per commentare.


Scopri di più su Develop uifigure-Based Apps in Help Center e File Exchange




Community Treasure Hunt

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

Start Hunting!

Translated by