【问题标题】:add a Horizontal Scrollbar in a comboBox for the long text dropdown items在组合框中为长文本下拉项添加水平滚动条
【发布时间】: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


    【解决方案1】:

    尝试使用 Combobox 的 click() 调用以下方法。

     private function setWidthForLongdata():void {
            var width:int;
            width = selectedzone.width;
            var maxWidth:int;
            maxWidth = width + (width/2);
    
            for each (var zone:ZoneVO in slotProxy.slotWizardVo.currentZones.source) {
            if(zone.zoneName.length > maxLen ) {
            maxLen = zone.zoneName.length;
            }
            }
    
            if(maxLen*13 > width) {
            width = maxLen*13;
    
            if(width>maxWidth) {
            width = maxWidth;
            }
            }
            selectedzone.dropdown.width=width;
            }
    

    【讨论】:

    • 感谢@Avinash T S
    猜你喜欢
    • 1970-01-01
    • 2019-02-27
    • 2019-05-05
    • 1970-01-01
    • 2011-01-26
    • 1970-01-01
    • 1970-01-01
    • 2016-08-09
    • 1970-01-01
    相关资源
    最近更新 更多