1、显示提示
设置Prompt属性可以为Combobox添加一个默认提示。如果没有设置selectedIndex,默认selectedIndex=-1,就显示Prompt的内容。
Flex3如果不设置Prompt,默认选择第一项。Flex4如果不设置Prompt,那么默认是空的。
2、处理文字过长
Flex4中的Combobox文字过长时,会显示滚动条。我们讨论Flex3如何处理文字过长的问题。
设置其itemRenderer为Label即可显示出省略号和ToolTip。几乎所有含有标签的组件遇到文字过长的问题都可以用该方法解决。
<mx:ComboBox itemRenderer="mx.controls.Label"/>
另外还可以设置下拉列表的宽度:
<mx:ComboBox dropdownWidth="300" />
3、允许下拉列表显示多行文字
设置itemRenderer为mx.controls.Text即可。有的文章说还需要在open事件中获得Combobox.dropDown获取下 拉列表的引用。然后设置下拉列表的variableRowHeight为true。实际实现只需设置itemRenderer即可。
4、为下拉列表添加图标
5、创建联动的Combobox
6、其他特性
openEasingFunction和closeEasingFunction用于设置弹出和关闭下拉列表时的动画效果,这对于其他含有下拉列表的组件也适用,比如ColorPicker。
openDuration和closeDuration用于设置弹出和关闭下拉列表的动画持续时间。
editable用于设置是否可以编辑,默认是false
rowCount用于设置下拉列表显示的最大行数,如果实际数据超过最大行数,则显示滚动条
open方法在打开下拉列表时触发,close方法在关闭下拉列表时触发
设置Prompt属性可以为Combobox添加一个默认提示。如果没有设置selectedIndex,默认selectedIndex=-1,就显示Prompt的内容。
Flex3如果不设置Prompt,默认选择第一项。Flex4如果不设置Prompt,那么默认是空的。
2、处理文字过长
Flex4中的Combobox文字过长时,会显示滚动条。我们讨论Flex3如何处理文字过长的问题。
设置其itemRenderer为Label即可显示出省略号和ToolTip。几乎所有含有标签的组件遇到文字过长的问题都可以用该方法解决。
<mx:ComboBox itemRenderer="mx.controls.Label"/>
另外还可以设置下拉列表的宽度:
<mx:ComboBox dropdownWidth="300" />
3、允许下拉列表显示多行文字
设置itemRenderer为mx.controls.Text即可。有的文章说还需要在open事件中获得Combobox.dropDown获取下 拉列表的引用。然后设置下拉列表的variableRowHeight为true。实际实现只需设置itemRenderer即可。
protected function cb_openHandler(event:DropdownEvent):void
{
cb.dropdown.variableRowHeight = true;
}
<mx:ComboBox id="cb" dataProvider="{ac}" width="200"
open="cb_openHandler(event)" itemRenderer="mx.controls.Text"/>
4、为下拉列表添加图标
[Embed("assets/1.png")]
private var pngClass:Class;
private function cb_openHandler(event:DropdownEvent):void
{
cb.dropdown.variableRowHeight = true;
cb.dropdown.iconFunction = iconFunc;
}
private function iconFunc(item:Object):Class{
return pngClass;
}
<mx:ComboBox id="cb" dataProvider="{ac}" labelField="value" open="cb_openHandler(event)" />
5、创建联动的Combobox
[Bindable]
private var myXML:XML =
<root>
<parent name="大类1">
<child name="大类1-小类1"/>
<child name="大类1-小类2"/>
<child name="大类1-小类3"/>
</parent>
<parent name="大类2">
<child name="大类2-小类1"/>
<child name="大类2-小类2"/>
<child name="大类2-小类3"/>
</parent>
</root>
<mx:ComboBox id="cb1" dataProvider="{myXML.parent}" labelField="@name"/>
<mx:ComboBox id="cb2" dataProvider="{cb1.selectedItem.child}" labelField="@name"/>
6、其他特性
openEasingFunction和closeEasingFunction用于设置弹出和关闭下拉列表时的动画效果,这对于其他含有下拉列表的组件也适用,比如ColorPicker。
openDuration和closeDuration用于设置弹出和关闭下拉列表的动画持续时间。
editable用于设置是否可以编辑,默认是false
rowCount用于设置下拉列表显示的最大行数,如果实际数据超过最大行数,则显示滚动条
open方法在打开下拉列表时触发,close方法在关闭下拉列表时触发