MATLAB Answers

I can not modify data in a table

2 views (last 30 days)
Pedro Guevara
Pedro Guevara on 3 Jun 2019
Answered: CAM on 10 Oct 2019
Good afternoon. My problem is as follows. I have 2 guide, one depends on another. What happens is that the guide number 1 has certain data that I need to transfer for the creation of the guide 2, in which there will be a table (of 2 columns) that should be created automatically with the data of the guide one and that will have "n" number of rows I already managed to get the table in guide 2 to be created as I need it, however I can not get the data that I enter (by keyboard) to keep on the table. I leave the cogigos if someone can tell me what is happening:
Thank you very much and I am attentive to your answers.
for the guide 1:
handles.data_form2_will_need = KC;
guidata(hObject,handles);
form2_h = form2();
%-------------------
for the guide 2:
function CalcularDin_Callback(hObject, eventdata, handles)
% hObject handle to CalcularDin (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
syms w
global NP
for k=1:NP
Mat_masa = get(handles.TablaMasa,'Data');
end
function form2_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to form2 (see VARARGIN)
% Choose default command line output for form2
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
%-------------------------------------------------------
global NP
handles.form1_h = findobj(groot, 'tag', 'form1');
handles1 = guidata(handles.form1_h); %this is form1's handles
handles.data_form2_needs = handles1.data_form2_will_need;
guidata(hObject, handles)
TTT=handles.data_form2_needs;
guidata(hObject, handles)
NumPiso= length ( TTT ( : , 1 ) ) - 1 ;
num_elem=cell(NumPiso,2);
num_elem(:,:)={''};
set(handles.TablaMasa,'Data',num_elem);
NP=NumPiso;
for k=1:2 %-length(NP) %-
NND(k,1) = NumPiso;
NumPiso=NumPiso-1;
set(handles.TablaMasa,'Data', NND);
end%-

  5 Comments

Show 2 older comments
Geoff Hayes
Geoff Hayes on 3 Jun 2019
You may need to show more of your code especially that for the table.
Pedro Guevara
Pedro Guevara on 3 Jun 2019
I do not have more code in the Guide 2. It's everything I have programmed.
Alexandra McClernon Ownbey
I would suggest using uitable and storing it in a handle. You can save or export the handle from one gui to the next. Then it's just a matter of transferring the data. I found using uitable very useful when updating a plot in real time.

Sign in to comment.

Answers (1)

CAM
CAM on 10 Oct 2019
Have you considered using appdata instead of guidata?
In this matlab answer (Appdata answer with link), there is a link to a great video by Doug Hull (former Mathworks employee) that addresses your situation directly and shows how to use appdata.

  0 Comments

Sign in to comment.

Products


Release

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by