How to store data values from uitable

How would I go about storing data values typed into a uitable as globals or otherwise?

Réponses (1)

Walter Roberson
Walter Roberson le 16 Août 2013
DataCell = get(UitableHandle, 'Data');
global_variable_1 = DataCell{5,7}; %for example

8 commentaires

James Hendren
James Hendren le 16 Août 2013
how do I check to make sure it is properly stored?
Walter Roberson
Walter Roberson le 16 Août 2013
You display the content of the variable.
dat = {true, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ;...
true, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ;...
true, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ;};
columnname = {'Fit', 'Omega', 'Lower Limit','Upper Limit', 'Gamma','Lower Limit','Upper Limit','Se','Lower Limit','Upper Limit','Sm','Lower Limit','Upper Limit','Sal','Lower Limit','Upper Limit','Sks','Lower Limit','Upper Limit'};
columnformat = {'logical', 'numeric', 'numeric', 'numeric', 'numeric', 'numeric', 'numeric', 'numeric', 'numeric', 'numeric', 'numeric', 'numeric', 'numeric', 'numeric', 'numeric', 'numeric', 'numeric', 'numeric', 'numeric'};
columneditable = [true true true true true true true true true true true true true true true true true true true];
set(handles.uitable10,'Data',dat,...
'ColumnName', columnname,...
'ColumnFormat', columnformat,...
'ColumnEditable', columneditable,...
'RowName',[]);
DataCell = get(handles.uitable10, 'Data'); %stores data in globals
omega = DataCell{1,2}
the global omega returns ''
James Hendren
James Hendren le 16 Août 2013
i need it to return a value i've typed in
James Hendren
James Hendren le 16 Août 2013
do you have suggestions?
You initialize cell {1,2} to '', and then a line later you fetch the value out again, without giving an opportunity to the user to edit the value.
Also be sure that you
global DataCell
in the routine before you assign to DataCell if you want the variable to be global.
James Hendren
James Hendren le 16 Août 2013
so how do I make it to where the user can edit the value?
Walter Roberson
Walter Roberson le 16 Août 2013
You should investigate the CellEditCallback property; see http://www.mathworks.com/help/matlab/ref/uitableproperties.html#brgcv4s
You would set it to the handle of a function; the function would execute when a cell is edited. In the function you would change the global variable.
You should consider alternatives.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Develop Apps Using App Designer dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by