Ich habe einen benutzerdefinierten Renderer (erbt von AdvancedDataGridItemRenderer
) und ich überschreibe validateProperties
und mit dem Wert von width
Eigentum, aber ich bekomme jedes Mal den alten Wert! validateProperties
soll ausgeführt werden, nachdem die Eigenschaften festgeschrieben wurden (ich rufe super an)? Hier ist mein Code:
public override function validateProperties():void
{
super.validateProperties();
if ((AdvancedDataGrid(listData.owner).columns[listData.columnIndex].
showDataTips)&&(textWidth>width))
toolTip=listData.label;
else toolTip=null;
}
Vielen Dank!
Antworten:
0 für die Antwort № 1Sie sollten dies im Datensetzer für Ihren Elementrenderer tun:
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 für die Antwort № 2
Es ist besser, den Breiteneinsteller zu überschreiben oder das Ereignis "textFieldWidthChange" zu behandeln.
0 für die Antwort № 3
Ich habe es gelöst Der Trick ist zu benutzen validateSize
für die width
Eigentum. validateProperties
ist für Eigenschaften, die nicht zu einer der anderen Gruppen gehören, für die ein dediziertes besteht validateX
Funktion (wie z validateSize
, validateList
, etc.).