2010-07-20 2 views
5

Ich verwende Standard-Drag/Drop auf Flex DataGrid, jedoch hat das DataGrid selbst einen ItemRenderer. Sieht aus wie:Bestimmen Sie Drag-Proxy bei Verwendung von itemRenderer auf 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"); 
    } 

, die für alle Elemente in der Datagrid angewendet wird. Dies zeigt nicht mehr den Proxy mit niedrigerem Alpha beim Ziehen. Ich möchte in der Lage sein, diesen Stil beizubehalten, wie kann ich feststellen, ob dieser bestimmte Artikel itemrenderer angewendet wird. Ich denke, wenn ich feststellen kann, ob das Objekt ein Proxy ist, dann verblasse den Text selbst.

Danke!

Antwort

0

Versuchen die setStyle Anrufe an die überschriebenen Satz Datenbewegungsverfahren

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

Nicht sicher, welche SDK-Version Sie verwenden, aber in Version 3.5 behält es sicherlich graue Textfarbe in gezogenem Proxy.

+0

Wenn Sie itemRenderer auf das Element gezogen anpassen haben wird, wird es im gleichen Stil wie die in itemRenderer haben angegeben, nicht gräulich. Das ist das Problem hier. –

Verwandte Themen