【发布时间】:2018-08-10 19:07:18
【问题描述】:
我尝试过使用dropdownWidth 属性,但是它将是静态的。但如果数据又太长,我将无法在下拉列表中看到全文。
所以我的要求是根据下拉项文本的长宽设置width,或者设置水平滚动条。
由于 flex 不支持水平滚动,我重写了 Combobox 类
<mx:FormItem id="zoneformitem" label="{Localizer.getString('zone','i18n')}" paddingLeft="60" paddingTop="15" required="true">
<mx:ComboBox id="selectedzone" open="campaigns.view.utils.CustomiZeCombo"
selectedIndex="-1"
dropdownWidth="210" width="209" change="validateZoneSelection()"
focusOut="validateZoneSelection()"
dataProvider="{slotProxy.slotWizardVo.currentZones.source.
sortOn('zoneName')}" >
<mx:itemRenderer>
<mx:Component>
public class CustomiZeCombo extends ComboBox{
public function CustomiZeCombo(){
super();
}
override public function open():void {
dropdown.horizontalScrollPolicy = ScrollPolicy.ON;
super.open();
}
override protected function
downArrowButton_buttonDownHandler(event:FlexEvent):void {
dropdown.horizontalScrollPolicy = ScrollPolicy.ON;
super.downArrowButton_buttonDownHandler(event);
}
}
但我不知道如何调用该事件以使其工作。 非常感谢您的建议。
【问题讨论】:
标签: java actionscript-3 apache-flex combobox actionscript