How do I update a listbox with the strings which I enter using a inputdlg command? I tried the same, but when I enter the second string, the first string gets replaced by the new one.
1 回表示 (過去 30 日間)
古いコメントを表示
I have entered the below code in the corresponding function. prompt={'Please enter the component name:'}; name='Input Component Name'; numlines=1; defaultanswer={'geometry'}; handles.answer=inputdlg(prompt,name,numlines,defaultanswer,'on'); set(handles.componentlistbox,'String',handles.answer);
My objective is, everytime when the dialogbox asks me to enter a text, the entered text should get added in the listbox in addition to the already typed text.I am using a GUIDE gui for this task. Problems I face: Each time I enter a string in the input dialog box, the previously entered string disappears. I would like to add the newly typed string below the existing string. Kindly request your support.
0 件のコメント
採用された回答
Geoff Hayes
2014 年 7 月 11 日
All you need to do is append the new string to the existing list
% prompt the user for some input
answer = inputdlg(prompt,name,numlines,defaultanswer,'on');
% get the current list box selections
selections = get(handles.componentlistbox,'String');
% append the answer to the list
selections = [selections ; answer];
% update the list box with the new selection
set(handles.componentlistbox,'String',selections);
Note that in the above, the answer is not being saved to handles.answer as that duplicates what is in the list box.
Note also that you should put in a check of some kind to ensure that duplicate entries aren't added to the list.
Try the above and see what happens!
2 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Environment and Settings についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!