How to hide data in a UITable ?

Hello,
I am plotting data in a UITable on App Designer.
Here is what my code looks like :
paramD = struct('name',"frequence",'unite',"GHz",'nb',numel(freq),'liste',freq,'scattering',s_list);
app.Table.Data = struct2table(paramD);
app.Table.ColumnName = struct2table(paramD).Properties.VariableNames;
Like so, the table looks like this :
'liste' data could sometimes take up to 500 values.
And I would like the table to be :
without having to create an empty row in the table like this line of code does :
paramD = struct('name',{"frequence",""},'unite',{"GHz",""},'nb',{numel(freq),0},'liste',{freq,0},'scattering',{s_list,0});
Do you know how to hide data so it only appears as '1x154 double' instead of the whole list ?
Thanks in advance,
Gwendal

3 Comments

@Walter Roberson, smart but that does not work.
It makes the columns shorter or larger but it does not change the way cells are displayed.
Right now, the only way I've found to display simply '1x154 double' instead of a whole array is when there are multiple rows with different arrays length.
Otherwise, when there is only one row, it automatically displays the whole array. Can you think of a workaround that could work ?
No, not for the built-in classes. If this were for your own class, you could matlab.mixin.CustomDisplay class

Sign in to comment.

 Accepted Answer

You could do this workaround:
paramD = struct('name',"frequence",'unite',"GHz",'nb',numel(freq),'liste',{freq,0},'scattering',s_list);
app.UITable.Data = struct2table(paramD);
app.UITable.Data(2,:)=[];
app.UITable.ColumnName = struct2table(paramD).Properties.VariableNames;

1 Comment

Yes, I tried to avoid creating a temporary line and then deleting it, but this may be the only solution. It works, thanks!

Sign in to comment.

More Answers (0)

Categories

Find more on Develop Apps Using App Designer in Help Center and File Exchange

Products

Release

R2020a

Community Treasure Hunt

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

Start Hunting!