2013-02-15 49 views
0

我有一個HSlider,它有兩個標籤,開始年份和結束年份。結束年份每年增加一次,並且我希望滑塊上的標籤顯示最近的關閉年份。使用ActionScript修改flex上的標籤hslider

我試過改變slider.labels [1] &它改變了我在調試時看到的值,但不是在屏幕上。我嘗試了一個可綁定的變量,我再次可以看到標籤[1]在調試中發生了變化,但是該值並未顯示在屏幕上。

hsStart.labels[0] = acResult[0].RATE_MIN; 
hsStart.labels[1] = acResult[0].UP_RANGE; 

_aryLabels[0] = acResult[0].RATE_MIN; 
_aryLabels[1] = acResult[0].UP_RANGE; 
hsStart.invalidateDisplayList(); 

<mx:HSlider minimum="1981" maximum="2000" snapInterval="1" id="hsStart" tickInterval="4" liveDragging="true" labels="{_aryLabels}" 
    width="527" thumbCount="2" change="updateYear(event);" dataTipFormatFunction="formatSlider" allowThumbOverlap="true" horizontalCenter="190" top="118" 
    sliderThumbClass="Classes.Input.BigThumbClass" fillColors="[0xff0000, 0x00ff00, 0xff0000, 0x00ff00]"/> 

這看起來很簡單,任何人有什麼想法?

保羅

+0

不做hsStart.invalidateDisplayList(); – 2013-02-15 16:50:07

+0

註釋掉hsStart.invalidateDisplayList();沒有幫助。我以這種方式開始,但我回過頭來評論一下,以確保。 – 2013-02-15 18:52:46

+0

你是什麼意思下「顯示最近關閉的一年」?您是否想根據程序的使用日期更新您的右側標籤? – Anton 2013-02-15 21:03:15

回答

1

你可以做這樣:

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" 
      layout="absolute" minWidth="955" minHeight="600" creationComplete="init()"> 
<mx:Script> 
    <![CDATA[ 
     [Bindable]private var lastYear:int = 2008; 

     private function init():void 
     { 
      updateLabels(); 
     } 

     protected function onIncYear(event:MouseEvent):void 
     { 
      lastYear++; 
      hsStart.maximum = lastYear; 
      updateLabels(); 
     } 

     private function updateLabels():void 
     { 
      hsStart.labels = [hsStart.minimum, hsStart.maximum]; 
     } 
    ]]> 
</mx:Script> 

<mx:HSlider 
    id="hsStart" 
    minimum="1981" 
    maximum="{lastYear}" 
    snapInterval="1" 
    tickInterval="4" 
    liveDragging="true" 
    width="527" 
    thumbCount="2" 
    allowThumbOverlap="true" 
    horizontalCenter="190" 
    top="118" 
    fillColors="[0xff0000, 0x00ff00, 0xff0000, 0x00ff00]"/> 

<mx:Button x="698" y="36" label="Increment Year" click="onIncYear(event)"/> 

</mx:Application> 
+0

我有點困惑,使用最小和最大的作品游泳,但我真的很感激成功。謝謝安東。 – 2013-02-16 17:07:20