Auto resizing rows for uitable with multiline cells

I'm trying to create a uitable that has some rows containing multiline cells and have these resize automatically. I've had some success using Yair Altman's findjobj.m function using the code below:
f = figure('Position', [100 100 752 250]);
data = {'<html><center />Coefficient<br />of elasticity</html>' 'bravo' 'charlie'; 'delta' 'echo' 'foxtrot'};
cols = {'Test1' 'Test2' 'Test3' 'Test4' 'Test5' 'Test6'};
mtable = uitable('Parent', f, 'Position', [25 50 700 200], 'ColumnName', cols, 'Data', data)
import com.jidesoft.grid.*
jscroll = findjobj(mtable);
jtable = jscroll.getViewport.getView;
jtable.setRowAutoResizes(true);
%jtable.setRowResizable(true);
This creates a table that looks like this:
My main problem is that if I resize the figure, the row heights are immediately reset. Is there a way that I can stop this from happening?
A secondary issue is that the height of the row headers don't match the cells, although if I uncomment the setRowResizable line in my code and resize the rows manually the row headers are modified correctly. How can I make this happen automatically?

3 commentaires

Dustin
Dustin le 13 Juil 2018
Hello, did you find a solution to your problem? I am having the same issue.
2020, same problem
The problem of changing row high when resizing the figure can be solved by adjusting the column width manually after this happened.

Connectez-vous pour commenter.

Réponses (0)

Catégories

En savoir plus sur App Building dans Centre d'aide et File Exchange

Question posée :

le 11 Mar 2016

Commenté :

le 18 Août 2020

Community Treasure Hunt

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

Start Hunting!

Translated by