GUI 'uitable' with option to add or remove rows depending on 'textbox' value
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello everyone,
I am trying to create a 2 by 3 table (initially) in a GUI using GUIDE, with a textbox that controls the number of rows of the table. The columns will stay constant.
I read through the documentation and also multiple threads on the subject, but I am still not understanding how to accomplish this. Is what I am trying to do possible?
From what I understand, I have to change the 'data' portion of the uitable properties since the "number of rows in the table is the larger of RowName and the number of rows in Data". Any ideas would be greatly appreciated.
Thank you in advance for any help provided.
0 commentaires
Réponse acceptée
Evan
le 11 Juil 2013
Modifié(e) : Evan
le 11 Juil 2013
It looks like you just need to put the following i the callback of your editbox (I'm assuming you meant editbox instead of textbox):
function myEdit_Callback(hObject,eventdata,handles)
nRows = str2num(get(hObject,'String'));
dat = cell(nRows,3);
set(handles.myTable,'Data',dat)
guidata(hObject,handles)
That, of course, will overwrite any data entered in your table with a blank table. If you want to keep your data, it'll be a bit more complicated:
function myEdit_Callback(hObject,eventdata,handles)
oldDat = get(handles.myTable,'Data');
nRows = str2num(get(hObject,'String'));
if nRows > size(oldDat,1)
dat = cell(nRows,3);
dat(1:nRows,:) = oldDat;
elseif nRows < size(oldDat,1)
dat = oldDat(1:nRows,:);
end
set(handles.myTable,'Data',dat)
guidata(hObject,handles)
1 commentaire
David (degtusmc)
le 11 Juil 2013
Modifié(e) : David (degtusmc)
le 12 Juil 2013
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Get Started with MATLAB dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!