0

我有一个自定义渲染器(继承自AdvancedDataGridItemRenderer),并且我正在覆盖validateProperties并使用该width属性的值,但我每次都得到旧值!提交属性后不validateProperties应该执行(我正在调用超级)?这是我的代码:

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

谢谢!

4

3 回答 3

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;

    }
于 2012-12-03T21:21:53.323 回答
0

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

于 2012-12-04T13:50:14.993 回答
0

我解决了。诀窍是validateSize用于width属性。validateProperties用于不属于任何其他有专用validateX功能的组的属性(例如validateSizevalidateList等)。

于 2012-12-19T18:54:24.507 回答