2012-12-03 2 views
0

저는 사용자 정의 렌더러 (AdvancedDataGridItemRenderer으로부터 상속받습니다)를 가지고 있고 validateProperties을 무시하고 width 속성의 값을 사용하지만 매번 오래된 값을 얻고 있습니다! 속성이 커밋 된 후 validateProperties을 실행하지 않아도됩니까 (저는 super를 호출합니다)? 내 코드는 다음과 같습니다.속성은 여전히 ​​validateProperties의 이전 값을 가지고 있습니다.

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

고마워요!

+0

http://stackoverflow.com/questions/7185594/difference-between-validateproperties-and-validateproperties – RIAstar

답변

0

해결했습니다. 트릭은 width 속성에 validateSize을 사용하는 것입니다. validateProperties은 전용 validateX 기능이있는 다른 그룹 (예 : validateSize, validateList 등)에 속하지 않는 속성 용입니다.

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; 

    } 
0

폭 세터를 무시할 또는 "textFieldWidthChange"이벤트를 처리하는 것이 좋습니다.

관련 문제