Get multiples item from listbox

16 views (last 30 days)
Nicolas Giret
Nicolas Giret on 2 Feb 2017
Commented: Nicolas Giret on 2 Feb 2017
Dear all,
I have a listbox in a GUI from which I want to retrieve the value of different items. I have set up the "Max" value to 2 (and the "Min" to 0). With this I can select 2 items in my list. But, when I want to get the value of the two selected items with:
contents = cellstr(get(hObject,'String'))
selected_file=contents{get(hObject,'Value')}
It is only giving me the value of the first item in the list as a string.
How I can get an array of the two selected items then? I'm sure it is very simple but I can't find the solution.
Thanks for your help.

Answers (3)

Adam
Adam on 2 Feb 2017
Edited: Adam on 2 Feb 2017
selected_file=contents( get(hObject,'Value') )
should work. Or just
selected_file = hObject.String( hObject.Value );
in one line (R2014b or later - the equivalent get style works for earlier versions)

Nicolas Giret
Nicolas Giret on 2 Feb 2017
Thanks Adam,
It is indeed giving the "Value" ([1 2] if I select the two first items).
But actually, I wasn't clear enough. Instead of the "Value", I rather wanted to get the "String" of these 2 items which I get with:
contents = (get(hObject,'Value'))
str_contents = cellstr(get(hObject,'String'))
selected_items=str_contents(contents)
Perhaps it is not really elegant, but it's working !
  1 Comment
Adam
Adam on 2 Feb 2017
Well in your original question you extracted the string into contents so I used what you had written there and didn't bother to repeat it.

Sign in to comment.


Jan
Jan on 2 Feb 2017
Edited: Jan on 2 Feb 2017
Older Matlab versions contained the function popupstr for this job. Unfortunately this small but useful piece of code has been removed. Here is a replacement, which handles single and multi-selction listboxes and popup menus, strings, CHAR matrices and cell strings:
selected_items = GetSelection(hObject)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!