2017-03-26 9 views
0

ではないですが、私は次のことを試してみました:のActionScript 3のsetStyle私はActionScriptを使用してのFlex 4 GridItemのスタイルをしようとしています機能

<mx:VBox 
    height="878" width="1920" 
    xmlns:mx="http://www.adobe.com/2006/mxml" 
    xmlns:s="library://ns.adobe.com/flex/spark" xmlns:local="*" creationComplete="addStyles()"> 


    <mx:Script> 
     <![CDATA[ 


      public var selectedLot:String = ""; 

      private function addStyles():void 
      { 
       testBorder.setStyle("borderThickness", "3"); 
      } 

が、私は次のエラーを取得:

setStyle is not a function.

何か不足していますか?

GridItemはリピータの内部にあります。

<mx:GridItem id="testBorder" width="101" height="52.25" horizontalAlign="center" verticalAlign="middle" borderStyle="solid" borderColor="gray"> 
                      <mx:Image source="assets/ruler-icon.png" /> 
                      <s:Label text="{r.currentItem.sqft}" fontSize="10" color="#808080" fontFamily="Helvetica" /> 
                     </mx:GridItem> 

答えて

3

リピータを使用してGridItemのIDが同じではありません。

は、ここに私のGridItemです。リピーター内のアイテムにアクセスするには、繰り返しアイテムに対応するインデックスを指定する必要があります。

例:配列は[「アウディ」、「BMW」]で構成され、我々はその後、「アウディ」のグリッド項目にアクセスし、そのスタイルを設定するために、あなたのリピータのdataProviderにこの配列を設定し、我々が使用する必要があります:

testBorder[0].setStyle("borderThickness", "3"); 

また、リピータが完全に構築される前に、VBoxの "creationComplete"を実行することができます。したがって、関数 "addStyles"を呼び出す最適な場所はリピータの "repeatEnd"イベントですrepeatEnd = "setTransactionPropertyType()")。

希望します。

Goodluck

関連する問題