Listbox multi selection without using Ctrl?
Mostrar comentarios más antiguos
Hi All
I have a GUIDE listbox in which I select and deselect multiple options regularly. Listbox entry selection unfortunately works like Windows file selection in Explorer; You have to hold down Ctrl if you want to deselect only one file in a selection or want to add one. Can I set the listbox to rather toggle clicked entries? When my customer forgets to hold down Ctrl, all their selections disappear...
Thanks!
Respuesta aceptada
Más respuestas (2)
Have you considered putting multiple checkboxes or toggle buttons inside of a button group instead? It sounds like that might be closer to the behavior you're describing.
3 comentarios
Jurgens Wolfaardt
el 9 de En. de 2018
Rohit Deshmukh
el 12 de Dic. de 2019
@Jurgens-
I am looking for same solution. How did you implement radio buttons in list box?
Walter Roberson
el 12 de Dic. de 2019
You cannot have a radio button inside a list box. You would use a uibuttongroup
Also note that by definition a radio button group has exactly one selection (or sometimes none) which would be the opposite of the requirement of the Question which inherently requires multiple selection.
Harry Weston
el 23 de Nov. de 2023
Editada: Walter Roberson
el 25 de Nov. de 2023
I got the following to work for selecting multiple values on an app listbox:
% check if the value is already selected and remove if it has
if max(contains(app.selectedYChannels, app.YChannelsListBox.Value))
% remove
valToRemove = contains(app.selectedYChannels, app.YChannelsListBox.Value);
app.selectedYChannels{1,valToRemove} = [];
app.selectedYChannels = app.selectedYChannels(~cellfun('isempty',app.selectedYChannels));
else
% save stored selection
app.selectedYChannels = [app.selectedYChannels, app.YChannelsListBox.Value];
end % if
% update Y Channel/s list box
app.YChannelsListBox.Value = app.selectedYChannels;
1 comentario
Walter Roberson
el 25 de Nov. de 2023
I would suggest that it would be clearer if you changed
if max(contains(app.selectedYChannels, app.YChannelsListBox.Value))
to
if any(contains(app.selectedYChannels, app.YChannelsListBox.Value))
Categorías
Más información sobre Interactive Control and Callbacks en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!