Making a table with different column widths and autofit contents

I am trying to make a table with three different column widths and I just can't seem to get it right.
When I use ColWidth in any of the following formats:
Alltb(1,1)=ColWidth('1in');
Alltb.ColWidth='1in';
Alltb.entry(1,1).Style = {ColWidth('1in')};
Alltb.Children.entry(1,1).Style = {ColWidth('1in')};
Alltb.Children.Entries(1,1).Style = {ColWidth('1in')};
I get an error that that doesn't exist, some variation of:
Unrecognized property 'ColWidth' for class 'mlreportgen.dom.TableEntry'.
I don't understand what mistake I'm making. Alltb is defined as a "Table()". I have tried defining a table entry and then applying colwidth to that with the same problem. I am using Matlab2017b.

1 commentaire

Meggo
Meggo le 9 Mar 2018
Modifié(e) : Meggo le 9 Mar 2018
I found ColSpecGroups which may be the correct one to use for a document whereas colwidth is used for a ppt, but I can't find a single example of how to use it. I've been looking for hours. I'm so frustrated just trying to format this stupid table.
Alltb.ColSpecGroups(1) = Width('.75in');
returns:
The following error occurred converting from mlreportgen.dom.Width to double:
Conversion to double from mlreportgen.dom.Width is not possible.
When I make the table with Alltb=Table(3) There is a ColSpecGroups argument. I just can't find any examples of how to enter in the information.
Alltb.ColSpecGroups(1) = TableColSpecGroup('0.75in');
and
Alltb.ColSpecGroups(1) = TableColSpec('0.75in');
return the same error:
No constructor 'mlreportgen.dom.TableColSpecGroup' with matching signature found.
This line:
Alltb.ColSpecGroups(1) = '0.75in';
returns:
Subscripted assignment dimension mismatch.
This liine:
Alltb.ColSpecGroups{1} = '0.75in';
returns:
Invalid Table column spec group.
Which is weird, because
Alltb.ColSpecGroups
ans =
[]

Connectez-vous pour commenter.

 Réponse acceptée

I found the answer. It's stupid and unintuitive. Here is the code that worked:
grps(1)=TableColSpecGroup;
grps(1).Span=1;
grps(1).Style={Width('1in')};
grps(2)=TableColSpecGroup;
grps(2).Span=2;
grps(2).Style={Width('2.75')};
Alltb.ColSpecGroups = grps;
Where Span sets the number of columns that the spec applies to.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by