该属性在validateProperties中仍具有旧值

时间:2012-12-03 10:08:04

标签: actionscript-3 flex flex3 itemrenderer

我有自定义渲染器(继承自AdvancedDataGridItemRenderer),我覆盖validateProperties并使用width属性的值,但我得到了每次都有旧的价值! Isn&#t; t validateProperties应该在提交属性后执行(我打电话给超级)?这是我的代码:

public override function validateProperties():void
{
    super.validateProperties();
    if ((AdvancedDataGrid(listData.owner).columns[listData.columnIndex].
            showDataTips)&&(textWidth>width))
        toolTip=listData.label;
    else toolTip=null;
}

谢谢!

3 个答案:

答案 0 :(得分:0)

您应该在项呈示器的数据设置器中执行此操作:

public override function set data(val:Object):void{
    super.data=val;
    if ((AdvancedDataGrid(listData.owner).columns[listData.columnIndex].
                showDataTips)&&(textWidth>width))
            toolTip=listData.label;
        else toolTip=null;

    }

答案 1 :(得分:0)

最好覆盖宽度设置器或处理“textFieldWidthChange”事件。

答案 2 :(得分:0)

我解决了。诀窍是对validateSize属性使用widthvalidateProperties适用于不属于具有专用validateX功能的任何其他组的属性(例如validateSizevalidateList等)。< / p>