1)下拉框Combobox
<fx:Declarations>
<fx:Model id="lbList">
<states>
<state label="请选择批量操作" data="00"/>
<state label="加入特价商品表" data="01"/>
<state label="加入团购商品表" data="02"/>
<state label="商品下架" data="03"/>
<state label="商品上架" data="04"/>
<state label="统一调价" data="05"/>
<state label="分别调价" data="06"/>
<state label="统一调库存" data="07"/>
<state label="分别调库存" data="08"/>
<state label="商品分类" data="09"/>
<state label="商品品牌" data="10"/>
</states>
</fx:Declarations>
<fx:Script>
<![CDATA[
protected function plcz_changeHandler(event:Event):void
{
if(ComboBox(event.target).selectedItem.data=="01" && gridSplb.selectedItems!=null){
TeJiaSpTilleWindow = new TeJiaSpTitleWindow();
var tj_add_tjbList:ArrayCollection = new ArrayCollection();
for each(var obj:DmSp in gridSplb.selectedItems) {
tj_add_tjbList.addItem(obj);
}
TeJiaSpTilleWindow.Add_list= tj_add_tjbList;
plcz.selectedIndex=0;
TeJiaSpTilleWindow.addEventListener(EventType.DATA_ADDED_EVENT,AddTjsp_Handler);
PopUpManager.addPopUp(TeJiaSpTilleWindow,this.parentApplication as DisplayObject,true);
PopUpManager.centerPopUp(TeJiaSpTilleWindow);
}
else if....
}
]]>
</fx:Script>
<mx:ComboBox height="25" id="plcz" dataProvider="{lbList.state}" change="plcz_changeHandler(event)"/>
2)DropDownList
<s:DropDownList id="alignVal" prompt="left" change="this.changeHandler()"> <s:dataProvider> <mx:ArrayList> <fx:String>left</fx:String> <fx:String>right</fx:String> <fx:String>center</fx:String> <fx:String>justify</fx:String> <fx:String>start</fx:String> <fx:String>end</fx:String> </mx:ArrayList> </s:dataProvider> </s:DropDownList>
3)FLEX4 相对 FLEX3的组件变化列表中列出以这么一项:
mx.controls.ComboBox -> spark.components.DropDownList
官方解释如下:
ComboBox 控件是 DropDownListBase 控件的子类。与 DropDownListBase 控件类似,当用户从 ComboBox 控件的下拉列表中选择某项时,数据项将显示在控件的提示区域中。
这两个控件之间的一个区别是,ComboBox 控件的提示区域是使用 TextInput 控件实现的,而 DropDownList 控件是通过 Label 控件实现的。因此,用户可以编辑控件的提示区域,以输入非预定义选项之一的值。
例如,DropDownList 控件仅允许用户从控件的预定义项列表中进行选择。ComboBox 控件允许用户既可以从预定义项中选择,也可以在提示区域中输入新项。您的应用程序可以识别已输入一个新项,(可选)并将其添加到控件的项列表中。
(NumericStepper也可以在提示区域中输入新项 如<s:NumericStepper maximum="200" value="100" stepSize="2" />)
ComboBox 控件还可以当用户在提示区域中输入字符时搜索项列表。当用户输入字符时,将打开控件的下拉区域,然后滚动到项列表中最接近的匹配项并加亮。
今天在测试使用<s:ComboBox dataProvider="{provider}" labelField="label"/>时发现编译没报错,但运行后却始终也显示不出控件。上网搜了一下,发现原来控件被替换了。
针对FLEX3中ComboBox的用法,在FLEX4中应改成以下用法:
<s:DropDownList dataProvider="{provider}" labelField="label"/>
或
<mx:ComboBox dataProvider="{provider}" labelField="label"/>
需要注意的是:
1)DropDownList的DataProvider不能是Array类型的
2)DropDownList默认显示时与ComboBox不一样,需要手动指定 selectedIndex的值
下面给出一段示例:
+ expand sourceview plaincopy to clipboardprint?
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/meteorlWJ/archive/2010/04/14/5486063.aspx