Keep uitable's column width after setting its data property

1 view (last 30 days)
Song Decn
Song Decn on 15 Jul 2018
Commented: Song Decn on 20 Jul 2018
Hi, I have a following issue and hope that someone can help me. Like in the embedded gif:
1. Since i cant see all the variable names, I change the column width
2. Resizing the table would not alter the column width again
3. BUT(!) if I set the table data with another content and change its data property, then the column width go back to its original values. And this is really annoying.
Can someone help to solve this? I assume this must use some java technics.

Answers (1)

Jens-Christian Meiners
Jens-Christian Meiners on 16 Jul 2018
Based on the behavior you describe, I guess that the ColumnWidth property for the column in question of your uitable is set to 'auto'. Setting it initially to a fixed number still allows you to resize the column, but should stop the automatic resizing based on data content.
  1 Comment
Song Decn
Song Decn on 20 Jul 2018
Hi Jens, setting columnwidth to fixed size is not working. for example run following codes:
f = figure();
t = uitable(f, 'unit', 'normalized', 'Data',randi(100,10,3), ...
'columnwidth', {50, 70, 100}, ...
'Position',[0.2 0.2 0.5 0.5]);
set(f, 'resizefcn', 't.Data = randi(100,10,3);');

Sign in to comment.




Community Treasure Hunt

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

Start Hunting!