在listbox1中,我有一些数据,现在我选择其中一些并单击按钮,这些选定的数据可以显示在listbox2中。然后我继续在listbox1中选择数据并单击按钮,listbox2中的旧数据消失,新数据显示在listbox2中。这里是回调函数中的代码:
function pushbutton1_Callback(hObject, eventdata, handles)
list_entries = get(handles.listbox1,'String');
index_selected = get(handles.listbox1,'Value');
Length = length(index_selected);
Newlist = list_entries;
for i=1:Length
n = index_selected(i);
handles.element(i) = list_entries(n)
if i==1
Newlist(n) = []
else
Newlist(n-1) = []
end
end
set(handles.listbox1,'String',Newlist);
set(handles.listbox2,'String',handles.element);
帮助我解决这个问题,非常感谢。
答案 0 :(得分:0)
如果您只想用其他字符串替换列表框(即字符串)中的数据,则不必执行实际删除旧数据的过程。您只需将列表框1中的字符串分配给列表框2,就可以了。
function pushbutton1_Callback(hObject, eventdata, handles)
set(handles.listbox2,'String',get(handles.listbox1,'String'));
编辑在您的评论之后,您似乎想要将新数据/字符串(从列表框1)附加到列表框2中的现有字符串。您可以轻松地连接字符串的单元格数组,如下所示:
假设列表框1和列表框2中的字符串像往常一样获得:
String1 = get(handles.listbox1,'String');
String2 = get(handles.listbox2,'String');
例如String1 = {'A' 'B' 'C'}
和String2 = {'D' 'E' 'F'}
然后你可以连接单元格数组并设置listbox2的字符串属性,如下所示:
NewString = [String1 String2]
给出这个:
NewString =
'A' 'B' 'C' 'D' 'E' 'F'
然后使用此
set(handles.listbox2,'String',NewString);
你很高兴。
希望现在没事。