当前位置:  开发笔记 > Android > 正文

Flex - 将参数发送到自定义ItemRenderer?

如何解决《Flex-将参数发送到自定义ItemRenderer?》经验,为你挑选了1个好方法。

我想要实现的目标是使我的Flex Datagrid中的财务数据采用颜色编码 - 如果正面则为绿色; 红色,如果它是负面的.如果我想要着色的列是dataProvider的一部分,这将是相当简单的.相反,我基于作为dataProvider一部分的另外两列来计算它.这仍然相当简单,因为我可以在ItemRenderer中再次计算它,但计算的另一部分是基于textBox的值.所以,我想我需要能够做的就是发送文本框的定义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不存在)

那么有谁知道我将如何实现这一目标?



1> cliff.meyers..:

您可能希望从Flex API 查看ClassFactory:

这允许您设置具有任意类型/值的原型Object,每个类型/值将传递给项呈示器.从样本:

var productRenderer:ClassFactory = new ClassFactory(ProductRenderer);
productRenderer.properties = { showProductImage: true };
myList.itemRenderer = productRenderer;

上面的代码假设"ProductRenderer"有一个名为"showProductImage"的公共属性,它将设置为值"true".


比选择的答案好得多!添加一个事件处理程序,编写三行代码......完成!
推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有