当用户在其他列上输入数据时,如何更改数据网格上一列的文本颜色

时间:2013-05-24 00:17:11

标签: flex flash-builder flex4.5 flexbuilder flex4.6

我有一个非常简单的问题,我有一个3列的spark数据网格,其中2列将包含数据,第3列是一个空列,文本输入为itemeditor。因此,数据用户在第三列的单元格中输入的内容应始终使用第一列进行验证,并且相应的第一列值或文本应变为红色。这是因为用户不应该输入重复的值。所以有人请帮助我。谢谢!

2 个答案:

答案 0 :(得分:0)

我使用Advanced datagrid代替spark,在Advanced datagrid中,您可以使用数据网格的styleFunction="myStyleFunction"或单个列来执行此操作。

代码示例:

public function myStyleFunc(data:Object, col:AdvancedDataGridColumn):Object
{
    // all rows for invalid selection combinations
    if ((data["isRequired"]) && !(data["isSelected"]))
        return {color:0xFF0000, fontWeight:"bold", backgroundColor:0xf2d6d7}; 

    // Return null if the selection is valid
    return null;
}   

答案 1 :(得分:0)

要在datagrid列中着色以获得最佳练习,请使用itemrenderer,您可以轻松地显示背景和前景的颜色。 如果是datagrid中的文本颜色,请使用此setStyle。 e.g。

labelDisplay.setStyle( “颜色”,0XFFFFFF);

labelDisplay是itemrenderer中Label的ID。