write a struct to a ui table

31 views (last 30 days)
CoderMinga
CoderMinga on 9 Sep 2022
Commented: Ankit on 9 Sep 2022
how to write a struct to a ui table in appdesigner

Accepted Answer

Ankit
Ankit on 9 Sep 2022
Edited: Ankit on 9 Sep 2022
You can follow following steps:
S.Name = ["Chang";"Brown";"Ruiz"];
S.Smoker = ["Y";"N";"Y"];
S.SystolicBP = [124;122;130];
S.DiastolicBP = [93;80;92];
fields = fieldnames(S)';
T = struct2table(S); % converting struct to table
app.UITable.Data = T;
app.UITable.ColumnName = fields;
  2 Comments
CoderMinga
CoderMinga on 9 Sep 2022
What if an element in a structure is also a structure, how does it show up in the table?
Ankit
Ankit on 9 Sep 2022
What is your use case? In case if structure is also a structure you can use struct2table. In this case you need to first convert it cell (struct2cell) and then to table using cell2table.
But my question is do you want to show the table completely - this is difficult. You can extract the data and display it on table.

Sign in to comment.

More Answers (1)

chrisw23
chrisw23 on 9 Sep 2022
structDef = struct("field1",0,"field2",0); % definition
defaultTbl = repmat(struct2table(structDef),10,1); % default empty 10row table
app.UITable.Data = defaultTbl; % copy table to uitable Data property
app.UITable.ColumnName = tbl.Properties.VariableNames; % copy variable names(table) to column names(uitable)
data1 = structDef; % empty struct copy
data1.field1 = 333; % example field data
data1.field2 = 666;
targetRow = 3;
app.UITable.Data(targetRow,:) = struct2table(data1); % write struct data to table row
Another example to show the diffs between table and uitable, because there's only a struct2table() function.

Categories

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

Community Treasure Hunt

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

Start Hunting!