uitable: setValueAt() ignores HTML code

1 Ansicht (letzte 30 Tage)
Stephan Heise
Stephan Heise am 27 Mär. 2014
Kommentiert: Stephan Heise am 25 Jul. 2018
Hi,
I use HTML to format the text color in cells of a uitable, e.g.
set(table_handle, 'Data',{'<html><font color="red">cell contents'});
If I later try to change the contents of that cell using the setValueAt method of the table's underlying jTable, the HTML formatting isn't changed, i.e. when using
jTable.setValueAt('new cell contents',0,0)
the new cell contents is still formatted red and if I click the cell to start editing it, I see that the HTML code is still there.
Any ideas how to also overwrite the HTML code without having to re-write the whole table using set(table_handle, 'Data',...) ?
(By the way, I know it would be more elegant to use a custom cell renderer...)
  3 Kommentare
Stephan Heise
Stephan Heise am 27 Mär. 2014
Sorry - I forgot that. Here is the code:
jscrollpane = findjobj(table_handle);
jTable = jscrollpane.getViewport.getView;
Stephan Heise
Stephan Heise am 31 Mär. 2014
Maybe I should also mention that I try to set the cell value in the jTable's MousePressedCallback, i.e. in my GUI's OutputFcn I set
set(handle(jTable, 'CallbackProperties'), ...
'MousePressedCallback',{@table_MousePressedCallback, gcf});
and then later
function table_MousePressedCallback(jTable, jEventData, figure_handle)
...
jTable.setValueAt(newValue, jTable.rowAtPoint(jEventData.getPoint), jTable.columnAtPoint(jEventData.getPoint));
...

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Vineeta Chaturvedi
Vineeta Chaturvedi am 28 Jun. 2018
Hi Stephan,
I understand you are trying to achieve certain functionality in uitable but using findjobj. Not sure the purpose of using findjobj and the use case where its required to use the setValue function.
Alternatively you can use the matlab uitable directly to achieve the required functionality.
Here is the code -
ut = uitable('Data',{'<html><font color="red">cell contents'})
ut.Data{1,1} = 'cell contents'
Thanks, Vineeta
  1 Kommentar
Stephan Heise
Stephan Heise am 25 Jul. 2018
Hi Vineeta,
thank you for pointing me towards this elegant solution! Since I had developed my code in HG1-times, I never thought of this...
Thanks, Stephan.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Migrate GUIDE Apps finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by