Delete a selected row in a uitable
12 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Cristian Martin
el 29 de Mayo de 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?
0 comentarios
Respuesta aceptada
Voss
el 29 de Mayo de 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 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Migrate GUIDE Apps en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!