Select to view content in your preferred language

ComboBox open and then immediately close

398
0
05-30-2011 06:15 AM
dickychan
New Contributor
I migrate Flex 3 applications to Flex 4. After installation of Flex 4.5 sdk,  i click a ComboBox , it open and then immediately close. How to solve this problems.


Code is below.Thanks a lot.............

-------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:esri="http://www.esri.com/2008/ags" xmlns:TextualSearch="TextualSearch.*" creationComplete="onCreationComplete()">
<mx:Label text="Textual Search" fontSize="12" fontWeight="bold">
  <mx:filters>
   <mx:DropShadowFilter alpha="0.5"/>
  </mx:filters>
</mx:Label>

<mx:ComboBox id="cbbSearchField" width="240" selectedIndex="0" rowCount="30" change="onChange()">
   <mx:Array>
   <mx:String>Man-made Features</mx:String>    <!--  0 -->
   <mx:String>Historical Landslip Catchments</mx:String> <!--  1 -->
   <mx:String>NPRS Slope</mx:String>      <!--  2 -->
  
  </mx:Array>
</mx:ComboBox>

<TextualSearch:ManMadeFeatureSearchVBox id="mManMadeFeatureSearchVBox" HOSTNAME="{mHOSTNAME}" Map="{mMap}" GraphicsLayer="{mGraphicsLayer}" includeInLayout="true" visible="true"/>
<TextualSearch:HLCSearchVBox id="mHLCSearchVBox" HOSTNAME="{mHOSTNAME}" Map="{mMap}" GraphicsLayer="{mGraphicsLayer}" includeInLayout="false" visible="false"/>
<TextualSearch:NPRSSlopeSearchVBox id="mNPRSSlopeSearchVBox" HOSTNAME="{mHOSTNAME}" Map="{mMap}" GraphicsLayer="{mGraphicsLayer}" includeInLayout="false" visible="false"/>
<mx:Script>
  <![CDATA[
   import com.esri.ags.Map;
   import com.esri.ags.layers.GraphicsLayer;
   import mx.controls.Alert;
   import mx.collections.ArrayCollection;
   import mx.core.Application;
  
   [Bindable] private var mHOSTNAME:String;
   [Bindable] private var mApplication:Application;
   [Bindable] private var mMap:Map;
   [Bindable] private var mGraphicsLayer:GraphicsLayer;
  
   private var mVBoxs:ArrayCollection = new ArrayCollection();
  
   public function set HOSTNAME(pHOSTNAME:String):void { mHOSTNAME = pHOSTNAME; }
   public function set Application(pApplication:Application):void { mApplication = pApplication; }
   public function set Map(pMap:Map):void { mMap = pMap; }
   public function set GraphicsLayer(pGraphicsLayer:GraphicsLayer):void { mGraphicsLayer = pGraphicsLayer; }
  
   private function onCreationComplete():void {
    mVBoxs.addItem(mManMadeFeatureSearchVBox);   //0
    mVBoxs.addItem(mHLCSearchVBox);      //1
    mVBoxs.addItem(mNPRSSlopeSearchVBox);    //2
   
   }
  
   private function onChange():void {
    for (var i:int=0;i<mVBoxs.length;i++) {
     var mTemp:VBox = mVBoxs.getItemAt(i) as VBox;
    
     if (cbbSearchField.selectedIndex == i) {
      mTemp.includeInLayout = true;
      mTemp.visible = true;
     }
     else {
      mTemp.includeInLayout = false;
      mTemp.visible = false;
     }
    }
   }
  ]]>
</mx:Script>
</mx:VBox>
Tags (2)
0 Kudos
0 Replies