我想要完成的工作是让我的 Flex Datagrid 中的财务数据进行颜色编码——如果是肯定的,则为绿色;如果是负数,则为红色。如果我想要着色的列是 dataProvider 的一部分,这将相当简单。相反,我是根据作为 dataProvider 一部分的另外两列来计算它的。这仍然相当简单,因为我可以在 ItemRenderer 中再次计算它,但计算的另一部分是基于文本框的值。所以,我认为我需要能够将文本框的值发送到自定义 ItemRenderer,但由于该值存储在主 MXML 应用程序中,我不知道如何访问它。将其作为参数发送似乎是最好的方法,但也许还有另一种方法。
这是我的 ItemRenderer 的当前代码:
package {
import mx.controls.Label;
import mx.controls.listClasses.*;
public class PriceLabel extends Label {
private const POSITIVE_COLOR:uint = 0x458B00 // Green
private const NEGATIVE_COLOR:uint = 0xFF0000; // Red
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void {
super.updateDisplayList(unscaledWidth, unscaledHeight);
/* Set the font color based on the item price. */
setStyle("color", (data.AvailableFunding >= 0) ? NEGATIVE_COLOR : POSITIVE_COLOR);
}
}
(data.AvailableFunding 不存在)
那么有谁知道我将如何实现这一目标?