Add items to listbox using push button and drop down menu

4 次查看(过去 30 天)
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 个评论
Matt
Matt 2017-7-4
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 2017-7-4
编辑:Adam 2017-7-4
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.

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Migrate GUIDE Apps 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by