Delete a selected row in a uitable

12 vues (au cours des 30 derniers jours)
Cristian Martin
Cristian Martin le 29 Mai 2022
Modifié(e) : Voss le 29 Mai 2022
Hi, I have this script for delete a certain row wich is selected by the user:
set(handles.uitable4,'CellSelectionCallBack',@(h,e) set(h,'UserData',e));
D=get(handles.uitable4,'Data');
Index=get(handles.uitable4,'UserData');
D(Index.Indices(:,1), :) = [];
set(handles.uitable4,'Data',D);
When I perform a selection and first time push the button to delete the row, i get this error:
Attempt to reference field of non-structure array.
Error in Generator_v1>pushbutton5_Callback (line 171)
a = D(Index.Indices(:,1), :);
Error in gui_mainfcn (line 95)
feval(varargin{:});
Error in Generator_v1 (line 42)
gui_mainfcn(gui_State, varargin{:});
Error in @(hObject,eventdata)Generator_v1('pushbutton5_Callback',hObject,eventdata,guidata(hObject))
Error while evaluating UIControl Callback
>>
After the first attempt with this error everything works perfect, when I made a second selection it perform the action with no error.
What could that be?

Réponse acceptée

Voss
Voss le 29 Mai 2022
Move this line to the OpeningFcn:
set(handles.uitable4,'CellSelectionCallBack',@(h,e) set(h,'UserData',e));
Having that line in the pushbutton's Callback function means that the table's CellSelectionCallback is not set until after the pushbutton's Callback is executed at least once, which in turn means that the table has empty UserData even though a selection may have been made, because there was no CellSelectionCallback defined at the time the selection was made.
  2 commentaires
Cristian Martin
Cristian Martin le 29 Mai 2022
Mr. "No name" thanks a lot, I have learned a lot from all of you! You all are making a great job for the beginners community.
Voss
Voss le 29 Mai 2022
Modifié(e) : Voss le 29 Mai 2022
You're welcome!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Migrate GUIDE Apps dans Help Center et File Exchange

Produits


Version

R2015a

Community Treasure Hunt

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

Start Hunting!

Translated by