Put structure data into GUIDE table

3 views (last 30 days)
Hello!
I would like to load data from a structure 'struc' into a GUIDE table 'file_table'. The structure has the following fields:
file_name: {8×1 cell}
serial_number: {8×1 cell}
event_date_time: {8×1 cell}
ppv: {8×1 cell}
shot_assignment: {8×2 cell}
instlocs: [8×2 double]
instadd: [8×1 string]
I just use
set(handles.file_table,'Data',struc);
I have tried a whole bunch of changes to the structure (the structure is from someone else's coding), with no success. What am I doing wrong? I can trim the instlocs and shot_assignment fields to be 8x1.
Thanks!.

Accepted Answer

Geoff Hayes
Geoff Hayes on 29 Sep 2021
Douglas - perhaps you need to convert the struct to a table before setting the uitable. Try using struct2table to see if that helps.
  3 Comments
Geoff Hayes
Geoff Hayes on 30 Sep 2021
Douglas - once you convert the struct to a table, then convert the table to a cell array with table2cell. That will just give you the data (not the column headers). For example (from the struct2table function),
S.Name = {'CLARK';'BROWN';'MARTIN'};
S.Gender = {'M';'F';'M'};
S.SystolicBP = [124;122;130];
S.DiastolicBP = [93;80;92];
T = struct2table(S);
C = table2cell(T);
set(handles.uitable1, 'Data', C, 'ColumnName', T.Properties.VariableNames);
Douglas Anderson
Douglas Anderson on 1 Oct 2021
Thank you very much, Geoff!
That works. Amazing how roundabout one sometimes has to go.
Doug

Sign in to comment.

More Answers (0)

Categories

Find more on Tables in Help Center and File Exchange

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!