Right click to remove row(s) from uitable - example code is not working
6 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Bowei Li
el 11 de Oct. de 2023
Respondida: Walter Roberson
el 11 de Oct. de 2023
Hi! I'm trying to use context menu to enable row removing from uitable by following an example here:
function tableApp
fig = uifigure;
tbl = uitable(fig);
tbl.Position = [20 20 400 300];
tbl.Data = randi(10,[10 4]);
cm = uicontextmenu(fig);
m = uimenu(cm);
m.Text = "Delete Row";
tbl.ContextMenu = cm;
m.MenuSelectedFcn = @deleteRow;
cm.ContextMenuOpeningFcn = @(src,event)toggleVisibility(src,event,m);
end
function deleteRow(src,event)
tbl = event.ContextObject;
row = event.InteractionInformation.Row;
tbl.Data(row,:) = [];
end
function toggleVisibility(src,event,m)
row = event.InteractionInformation.Row;
rowClicked = ~isempty(row);
m.Visible = rowClicked;
end
However, I run into this problem:
>> tableApp
Unrecognized method, property, or field 'InteractionInformation' for class 'matlab.ui.eventdata.ActionData'.
Error in tableApp>toggleVisibility (line 23)
row = event.InteractionInformation.Row;
Error in tableApp>@(src,event)toggleVisibility(src,event,m) (line 13)
cm.ContextMenuOpeningFcn = @(src,event)toggleVisibility(src,event,m);
Error using matlab.ui.internal.WebContextMenuController/handleEvent
Error while evaluating ContextMenu Callback.
0 comentarios
Respuesta aceptada
Walter Roberson
el 11 de Oct. de 2023
Which release are you using? Some of that is only applicable to R2023b and later; https://www.mathworks.com/help/matlab/ref/uicontextmenu.html?searchHighlight=uicontextmenu&s_tid=srchtitle_support_results_1_uicontextmenu#mw_c3c8080d-01ad-48ab-9c13-416405690017
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Startup and Shutdown 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!