Bha, o que mais enche o saco em qualquer linguagem é definir o valor padrão para um ComboBox.
Então criei um componente que estende o ComboBox. Neste há dois métodos extras que deve ser setado o o Campo e o Valor.
Arquivo main.mxml<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:controls="br.mx.controls.*" layout="absolute" backgroundColor="#f6f6f6" backgroundGradientColors="[#f6f6f6, #bbbbbb]" creationComplete="init()" viewSourceURL="srcview/index.html" > <!-- Texto Superior --> <mx:Label x="10" y="10" fontSize="20" fontWeight="bold" text="Definindo valor padrão para o ComboBox" /> <!-- Barra Horizontal --> <mx:HRule x="10" y="49" width="690" /> <mx:Script> <![CDATA[ import mx.collections.ArrayCollection; [Bindable] public var code:ArrayCollection = new ArrayCollection( [ {label:"PHP", data:"1"}, {label:"Java", data:"2"}, {label:"Coldfusion", data:"3"} ]); private function init():void { cb1.dataProvider = code; cb1.campoSelecionado = "label"; cb1.valorSelecionado = "Coldfusion"; cb2.dataProvider = code; cb2.campoSelecionado = "data"; cb2.valorSelecionado = 2; } ]]> </mx:Script> <controls:MeuComboBox id="cb1" x="10" y="60" width="150" /> <controls:MeuComboBox id="cb2" x="10" y="90" width="150" /> </mx:Application>Arquivo br/mx/controls/MeuComboBox.mxml
package br.mx.controls { import mx.collections.ArrayCollection; import mx.controls.Alert; import mx.controls.ComboBox; public class MeuComboBox extends ComboBox { private var _campo:String = ''; private var _valor:String = ''; public function MeuComboBox() { super(); } public function set campoSelecionado(campo:String):void { if(campo.toString().length > 0) { this._campo = campo; this.labelFun(); } } public function set valorSelecionado(valor:Object):void { if(valor.toString().length > 0) { this._valor = valor.toString(); this.labelFun(); } } private function labelFun():void { if(this._campo.length > 0 && this._valor.length > 0) { var data:ArrayCollection = this.dataProvider as ArrayCollection; for(var a:int = 0; a< data.length; a++) { if(data[a][this._campo].toString() == this._valor.toString()) { this.selectedIndex = a; } } } } } }
Veja o exemplo.
Divirtam-se com o Código Fonte.