基於包含基於data.Bld_Type值的if語句的函數,我無法讓DataGridItemRenderer將顏色值傳遞到<s:SolidColor
。下面的代碼。我對Flex很感興趣,不確定這個問題是什麼,或者這是否是正確的方式。任何幫助,將不勝感激。我試過傳遞一個十六進制數字和顏色名稱。既沒有工作。謝謝。有條件的顏色更改<s:SolidColor>
<?xml version="1.0" encoding="utf-8"?>
<s:MXDataGridItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
focusEnabled="true">
<fx:Script>
<![CDATA[
import mx.events.FlexEvent;
private var swatchCOL:uint;
/** color function **/
private function onLoad():void
{
if(data.Bld_Type == "Office")
{
swatchCOL="ee7970";
//***swatchCOL="red";
}
else if(data.Bld_Type == "Office/Warehouse")
{
swatchCOL="70b2ee";
//***swatchCOL="blue";
}
}
]]>
</fx:Script>
<s:Group left="10" right="10" top="10" bottom="10">
<s:Rect width="25" height="25">
<s:stroke>
<s:SolidColorStroke color="green" weight="2"/>
</s:stroke>
<s:fill>
<s:SolidColor color="swatchCOL"/>
</s:fill>
</s:Rect>
</s:Group>
</s:MXDataGridItemRenderer>
:1067:隱式強制類型爲String的值賦給不相關的類型uint。 – user725545 2011-04-26 14:54:34
對不起。添加了一個代碼片段來將顏色投射到'uint'。 – Constantiner 2011-04-26 14:58:31
錯誤消失了。但似乎函數沒有執行。我可能沒有「私人功能onLoad():void」正確。當調用上面的mxml代碼時,函數會假設執行。 –
user725545
2011-04-26 15:19:58