【发布时间】:2011-04-26 14:43:11
【问题描述】:
我无法让 DataGridItemRenderer 根据包含基于 data.Bld_Type 值的 if 语句的函数将颜色值传递给 <s:SolidColor。代码如下。我对 Flex 很陌生,不确定问题出在哪里,或者这是否是正确的做法。任何帮助,将不胜感激。我试过传递一个十六进制数字和颜色名称。都不工作。谢谢。
<?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>
【问题讨论】:
标签: apache-flex actionscript-3 data-binding flex4 itemrenderer