How to make two drop down Dependent
    8 views (last 30 days)
  
       Show older comments
    
I have two drop down on my App Designer app, like this:
DropDown1.Items = {'1','2','3','4','5'};
DropDown1.ItemsData = [1,2,3,4,5];
DropDown2.Items = {'10','20','30','40','50'};
DropDown2.ItemsData = [1,2,3,4,5];
I would like to make this drop down dependent, so, if I choose on the DropDown1 the second option ({'2'}), the DropDown2 display the same position option (the second {'20'}) and so on any position I choose.
Is there any way to make this on App Designer or GUI?
2 Comments
  Geoff Hayes
      
      
 on 29 May 2019
				Adrian - you can probably do something in the callback for the first drop down: when this fires (due to a change in the choice), then update the selected value in the second drop down.
Accepted Answer
  Luna
      
 on 29 May 2019
        
      Edited: Luna
      
 on 29 May 2019
  
      Here is a basic test app I have created. 
Please read comments carefully.
classdef testDropDown < handle
    properties
        dd1 % will be used for dropdown1 handle
        dd2 % will be used for dropdown2 handle       
    end
    methods        
        function obj = testDropDown(obj)  % obj is testDropDown obj whose superclasses is handle class 
            hFig = figure;
            %% dropdown1 assigned as a property for testDropDown Class
            obj.dd1 = uicontrol('Parent',hFig,'Style','popupmenu','Units','normalized','Position',[0.1 0.3 0.5 0.1],'Callback',@obj.dd1Callback,'String',{'1','2','3'});
            %% dropdown2 assigned as a property for testDropDown Class
            obj.dd2 = uicontrol('Parent',hFig,'Style','popupmenu','Units','normalized','Position',[0.1 0.1 0.5 0.1],'Callback',@obj.dd2Callback,'String',{'10','20','30'});
        end
        function dd1Callback(obj,src,evnt) % when clicked on dropdown1 this callback will be executed.
            obj.dd2.Value = src.Value;  % gets the value of the source(src) which is the object handle of the item that you have clicked on and assignes it to the other dropdown's value. 
        end
        function dd2Callback(obj,src,evnt) % when clicked on dropdown2 this callback will be executed.
          % obj is the main class object
          % src is the source of that callback executed it can be a button or a dropdown menu item,etc.
          % evnt is the event handle that stores the clicking event.
        end
    end
end
Read more about handle classes you can find lots of information. 
3 Comments
More Answers (0)
See Also
Categories
				Find more on Develop Apps Using App Designer 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!

