Add items to listbox using push button and drop down menu

5 views (last 30 days)
I am creating a GUI using GUIDE in MATLAB2015. I have a drop down menu which the user selects a message to view, after that they click the Add push button to add the message name to a list box and display the data it contains in a table.
My problem is, if I want to add more than one message, instead of adding that message, it overwrites the previous one. Below is my current code:
addData = getappdata(handles.msgSel_menu, 'Data');
boxMsg = get(handles.msgSel_menu,'String');
boxMsgVal = get(handles.msgSel_menu,'Value');
set(handles.activeDataBox,'String',boxMsg{boxMsgVal});
set(handles.data_table, 'Data', addData);
Apologies if this has been done multiple times before, but as I'm relatively new to MATLAB I could do with a little explanation of any code that fixes my issue.
  5 Comments
Matt
Matt on 4 Jul 2017
Sorry, I've now managed to add the different elements in, but they do not replace the initial string (e.g. 'Please Select...'), appear side by side and I am able to add more than one of the same message. Here is the code I currently have:
addData = getappdata(handles.msgSel_menu, 'Data');
boxMsg = get(handles.msgSel_menu,'String');
boxMsgVal = get(handles.msgSel_menu,'Value');
current_data = get(handles.activeDataBox, 'String');
new_data = [current_data, boxMsg{boxMsgVal}];
set(handles.activeDataBox,'String',new_data);
set(handles.data_table, 'Data', addData);
set(handles.activeDataBox, 'String', new_data);
Adam
Adam on 4 Jul 2017
Edited: Adam on 4 Jul 2017
Well, there isn't any magic to creating a cell array - either you replace elements or concatenate with them.
If you want special rules to remove a certain string or not allow duplicates you would just have to program the logic in for that yourself when doing the concatenation.

Sign in to comment.

Answers (0)

Categories

Find more on Migrate GUIDE Apps 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!