App Designer help with uitable

4 visualizaciones (últimos 30 días)
ilia beloglazov
ilia beloglazov el 19 de Mzo. de 2023
Comentada: ilia beloglazov el 22 de Mzo. de 2023
But now there is a problem that I don’t understand how to solve, I stopped sleeping and eating :crazy:
I am writing a program in the App Designer and this is the task
The button opens a figure and in it a table where I load different coefficients
The user can change these coefficients and at the end presses the save button. As a result, this table must be stored in the workspace so that the new values can be used in the calculation. And now I just can not save this table
load tableCmHn.mat % load my table
% create shape
fig = uifigure('Name','Hydro parameters','Position',[30 30 550 200]);
% create table
uit = uitable(fig);
uit.Position = [20 100 500 80];
uit.ColumnName = {'C2H6','C3H8','C4H10','C5H12','C2H4','C2H2'};
uit.RowName = {'m','n'};
uit.Data = CmHn;
uit.ColumnEditable = true;
newTable = uit.Data
btn = uibutton(fig,'push','Position',[420 60 100 22],'ButtonPushedFcn', @(btn,event) ButtonPushed1(btn,newTable));
btn.Text = 'Save';
but at this stage there is a problem
1. how to save the table?
save('tableCmHn.mat',newTable)
2. how to create a callback with the newTable parameter?
ButtonPushed1(btn,newTable)

Respuestas (1)

Eric Delgado
Eric Delgado el 20 de Mzo. de 2023
Why do you have to store in the workspace the edited table so that the new values can be used in the calculation?! Do you have a script and call it from Matlab prompt after the editing process in AppDesigner?
You can use assignin (https://www.mathworks.com/help/matlab/ref/assignin.html) to perform this operation... but I think you should not use the Workspace Base of Matlab, but just transform your script in a function and call it, passing your edited table (app.UITable.Data) to your new function.

Categorías

Más información sobre Migrate GUIDE Apps en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by