2010-07-20 11 views
5

Sto usando il trascinamento/rilascio predefinito su Flex DataGrid, tuttavia, lo stesso dataGrid ha un itemrenderer. Assomiglia:Determina il proxy di trascinamento quando si usa itemRenderer su 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"); 
    } 

che è applicato a tutti gli elementi del datagrid. Questo non mostra più il proxy con alfa inferiore durante il trascinamento. Voglio essere in grado di mantenere quello stile, come posso determinare se questo particolare articolo viene applicato a un itemrenderer. Sto pensando se posso determinare se l'oggetto è un proxy, quindi svanire il testo da solo.

Grazie!

risposta

0

Provare a spostare il setStyle chiamate al metodo dati impostati sovresposta

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

Non è sicuro quale versione di SDK si sta utilizzando, ma in 3.5 sicuramente mantiene il colore del testo grigiastro nel proxy trascinato.

+0

Quando si dispone di personalizzare itemRenderer sull'elemento trascinato, si avrà lo stesso stile di quella di itemRenderer specificato, non grigiastro. Questo è il problema qui. –