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 个评论
Dustin
2018-7-13
Hello, did you find a solution to your problem? I am having the same issue.
Lockywolf
2020-2-25
2020, same problem
Franziska Reiner
2020-8-18
The problem of changing row high when resizing the figure can be solved by adjusting the column width manually after this happened.
回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Environment and Settings 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!