2010-07-20 10 views
5

J'utilise le glisser/déposer par défaut sur Flex DataGrid, cependant, le composant dataGrid possède lui-même un objetrenderer. On dirait:Déterminez un proxy de drag lorsque vous utilisez itemRenderer sur 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"); 
    } 

qui est appliqué à tous les éléments du DataGrid. Cela ne montre plus le proxy avec moins d'alpha lorsqu'il est traîné. Je veux être en mesure de conserver ce style, comment puis-je déterminer si cet article particulier est en cours d'application itemrenderer. Je pense que si je peux déterminer si l'objet est un proxy, alors disparaître le texte moi-même.

Merci!

Répondre

0

Essayez de déplacer le setStyle appelle à la méthode de données série surchargée

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

Vous ne savez pas quelle version de SDK vous utilisez, mais en 3.5, elle conserve certainement la couleur du texte grisâtre dans le proxy déplacé.

+0

Lorsque vous avez personnaliser itemRenderer sur l'élément en cours de déplacement, il va avoir le même style que celui de itemRenderer spécifié, pas gris. C'est le problème ici. –