我可以在flex中为datagrid列创建多个itemrenderer吗?

时间:2009-08-25 12:20:20

标签: flex

我实际上想要创建一个包含以下代码的itemrenderer:

<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml" width="0" height="0" >
 <mx:Label text="{data.xval}" />
 <mx:Spacer width="100%" />
 <mx:Image source="edit.gif" width="16"  toolTip="Edit" />     
</mx:HBox>

现在,当我点击图像时,datgrid列应该是可编辑的,因为我使用textinput作为itemeditor。现在,我还要突出显示此数据网格列的所有单元格,这些单元格的数据超过8个字符。我可以使用2个不同的itemrenrerers单独完成此操作。但我想把这一切都搞定。任何人都可以帮助我这样做吗?我们可以为任何datagrid列提供多个itemrenderer吗?

如果我的问题不清楚,请告诉我?

提前感谢你。

1 个答案:

答案 0 :(得分:0)

一种方法是创建一个函数,该函数返回要用于突出显示的样式的名称,并通过数据绑定到HBox的样式属性来调用该函数。例如,如果您有一个名为highlight的css类和一个名为normal的css类,则可以使用此函数:

public function highlight(data:String):String
{
    if(data.length >= 8)
    {
        return "highlight";
    }
    return "normal";
}

并称之为:

<mx:HBox styleName="{highlight(data.xval)}"> 
    ...
</mx:HBox>