how to add data to a gui table
3 views (last 30 days)
Show older comments
I have created a GUI with uitable of (6000,7), I loaded data to my gui through a dropdown menu callback, and I created a push button so if I push it it will show the data on the table, I used the following:
% --- Executes on button press in datatablerefresh. function datatablerefresh_Callback(hObject, eventdata, handles) % hObject handle to datatablerefresh (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) set(handles.maintable,'data',data);
but I get the error
Undefined function or variable 'data'.
Error in HebalOptics>datatablerefresh_Callback (line 266) set(handles.maintable,'data',data);
Error in gui_mainfcn (line 96) feval(varargin{:});
Error in HebalOptics (line 42) gui_mainfcn(gui_State, varargin{:});
Error in @(hObject,eventdata)HebalOptics('datatablerefresh_Callback',hObject,eventdata,guidata(hObject))
Error while evaluating uicontrol Callback
but when I copy the same command to the call back which loads data it is working fine so what is the problem?
note: my data will be loaded and shown on table, then manupulated and shown again on the same table (table will be updated).
0 Comments
Accepted Answer
Dishant Arora
on 27 Jul 2013
Edited: Dishant Arora
on 27 Jul 2013
scope of data is local to the function is defined in.It can't be used outside that function. If you still want to access it in another function you can use 'setappdata' and 'getappdata' to store data in gui.
setappdata(gcf, 'data', dataName); % stores data in current gui
% mention this in callback which loads data ,
% once you have loaded the data in dataName
data = getappdata(gcf , 'data'); % retrieves data from current gui, to be
% mentioned in keypress function
More Answers (0)
See Also
Categories
Find more on Migrate GUIDE Apps in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!