Using the listdlg function
22 views (last 30 days)
Show older comments
callum hayes
on 30 Nov 2022
Commented: Walter Roberson
on 3 Dec 2022
I am using the listdlg function and using 'Multiple' so the user can select mulitple items. When using the 'if,elseif' or the 'case' statements, they wont work when selecting mutiple items. They will work however if i only select one item from the list. The case statement spits out the code 'SWITCH expression must be a scalar or a character vector' and the 'if' statement spits a vector when i am trying to plot multiple bar graphs.
Any help would be great thanks.
2 Comments
Luca
on 3 Dec 2022
Same problem for me, the output is a vector but I dont know what to do with it. (Im still a newbie)
Walter Roberson
on 3 Dec 2022
Accepted Answer
Les Beckham
on 30 Nov 2022
You probably just need to wrap your switch/case processing in a for loop. For example:
s = listdlg('ListString', {'One', 'Two', 'Three'});
for ii = 1:numel(s)
switch s(ii)
case 1
% do something
case 2
% do something different
case 3
% do something else
end
end
0 Comments
More Answers (0)
See Also
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!