Les graphiques appelle ce tirage qui sont AdvancedDataGridBaseEx.as des lignes 5468-5471:
var g:Graphics = s.graphics;
g.clear();
g.beginFill(getStyle("rollOverColor")); //all I really wanted was to decrease the alpha here :(
g.drawRect(0, 0, w, h - 0.5);
g.endFill();
Pour se débarrasser de cela, vous pouvez le faire dans une classe qui étend AdvancedDataGrid:
package
{
import flash.display.Sprite;
import flash.events.MouseEvent;
import mx.controls.AdvancedDataGrid;
public class AdvancedDataGridMinusHighlights extends AdvancedDataGrid
{
public function AdvancedDataGridMinusHighlights()
{
super();
}
override protected function mouseOverHandler(event:MouseEvent):void
{
super.mouseOverHandler(event);
var s:Sprite = Sprite(
selectionLayer.getChildByName("headerSelection"));
if(s) s.graphics.clear();
}
override protected function mouseDownHandler(event:MouseEvent):void
{
super.mouseDownHandler(event);
var s:Sprite = Sprite(
selectionLayer.getChildByName("headerSelection"));
if(s) s.graphics.clear();
}
}
}
Bien que ce soit une solution extrêmement inélégante puisque tout ce qu'il fait est clair ce qui a déjà été dessiné. Parce qu'il y a tellement d'autres conneries dans les gestionnaires de souris dans AdvancedDataGridBaseEx, vous ne serez pas capable de personnaliser l'apparence de l'en-tête.
Une solution légèrement plus élégante (hack) consiste à copier la source complète d'AdvancedDataGridBaseEx dans le paquetage mx.controls (un hack dont plusieurs d'entre vous sont conscients et conscient des conséquences).