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.
    5 views (last 30 days)
  
       Show older comments
    
    matlablearner
 on 11 Jul 2014
  
    
    
    
    
    Commented: Geoff Hayes
      
      
 on 11 Jul 2014
            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 Comments
Accepted Answer
  Geoff Hayes
      
      
 on 11 Jul 2014
        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 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
