2010-07-20 15 views
5

Używam domyślnego przeciągania/upuszczania na Flex DataGrid, jednak sama dataGrid ma itemrenderer. wygląda następująco:Określa przeciągnięcie proxy podczas korzystania z itemRenderer na DataGrid

public class FlashFileDataGridRenderer extends Label{ 
    public function FlashFileDataGridRenderer(){ 
     super(); 
    } 
override protected function updateDisplayList (unscaledWidth:Number, unscaledHeight:Number):void { 
     super.updateDisplayList(unscaledWidth, unscaledHeight); 
    this.setStyle("paddingLeft", "3"); 
     if (data instanceof FlashEntryBean) { 
    if ((data.cutFlag)) { 
    setStyle("color", "#AAAAAA"); 
    } 
    else 
    setStyle("color", "#000000"); 
    } 

To jest stosowany do wszystkich elementów w DataGrid. To nie pokazuje już proxy z niższym alfa podczas przeciągania. Chcę móc zachować ten styl, jak określić, czy ten konkretny przedmiot jest stosowany jako itemrenderer. Zastanawiam się, czy potrafię określić, czy obiekt jest proxy, a następnie sam zaniknąć.

Dzięki!

Odpowiedz

0

Spróbuj przesunąć setStyle wzywa do nadpisane metody zestaw danych

override public function set data(t:Object):void 
{ 
    super.data = t; 
    if (data instanceof FlashEntryBean) { 
    if (data.cutFlag) 
     setStyle("color", "#AAAAAA"); 
    else 
     setStyle("color", "#000000"); 
    } 
} 
0

Nie jesteś pewien, której wersji pakietu SDK używasz, ale w wersji 3.5 z pewnością zachowuje szary kolor tekstu w przeciągniętym proxy.

+0

Kiedy trzeba dostosować itemRenderer na element jest przeciągany, to będzie mieć taki sam styl jak ten w itemRenderer określony, nie szaro. Tutaj jest problem. –