Right click to remove row(s) from uitable - example code is not working

7 ビュー (過去 30 日間)
Bowei Li
Bowei Li 2023 年 10 月 11 日
回答済み: Walter Roberson 2023 年 10 月 11 日
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);
function deleteRow(src,event)
tbl = event.ContextObject;
row = event.InteractionInformation.Row;
tbl.Data(row,:) = [];
function toggleVisibility(src,event,m)
row = event.InteractionInformation.Row;
rowClicked = ~isempty(row);
m.Visible = rowClicked;
However, I run into this problem:
>> tableApp
Invalid use of operator.
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.


Walter Roberson
Walter Roberson 2023 年 10 月 11 日

その他の回答 (0 件)


Help Center および File ExchangeMigrate GUIDE Apps についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by