MATLAB Answers

App Designer User edit/update table

85 views (last 30 days)
ted yao
ted yao on 23 Dec 2019
Commented: Kojiro Saito on 6 Jan 2020
I am new to app designer so forgive me for asking silly questions:
I have loaded an cell array data from excel into my app design table:
and I would like to know how can a user update the value in cell?
I have created a call back function below that It's supposed to responde to user commond whenever the table is clicked
function CBICDispCellEdit(app, event)
indices = event.Indices;
newData = event.NewData;
But nothing happened when I clicked on the table...
Is there anything I am missing here? Thanks


Sign in to comment.

Accepted Answer

Kojiro Saito
Kojiro Saito on 24 Dec 2019
Edited: Kojiro Saito on 6 Jan 2020
CellEditCallback is triggered when the value of cell has changed. If you want to trigger an event when clicking the cell of table, you need to add callback of CellSelectionCallback.
Updated on 2020 Jan 6th.
In order to make drop down list in your Cmd column of the table, first you need to change import options of your excel file.
function LoadTableButtonPushed(app, event)
opts = detectImportOptions('test1.xlsx'); % For importing Cmd column as char not double
opts.VariableTypes{8} = 'string'; % For importing Cmd column as string
t = readtable('test1.xlsx', opts);
app.Table1.Data = t;
app.Table1.ColumnName = t.Properties.VariableNames;
And here is a code to make Cmd column as categorical.
function Table1CellSelection(app, event)
app.UITable.Data.Cmd = categorical(app.UITable.Data.Cmd, {'open', 'close'});
Screenshot is as the follows.


ted yao
ted yao on 2 Jan 2020
I have changed it to cellselection but I am still having trobule to get the code to wok.
Let me attach my code and excel file,
After loading the file I am trying to change the value in column 'cmd'. (Using a drop down list, categorical data with 'open' or 'close' selection)
Could you please show me how to do this? Thank you.
Kojiro Saito
Kojiro Saito on 6 Jan 2020
I've updated my previous answer.

Sign in to comment.

More Answers (0)

Translated by