Графические вызовы, которые рисуются в AdvancedDataGridBaseEx.as из строк 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();
Чтобы избавиться от этого, вы можете сделать это в классе, который расширяет 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();
}
}
}
Хотя это крайне не элегантное решение, поскольку все, что он делает, ясно, что уже было нарисовано.Поскольку в AdvancedDataGridBaseEx есть так много другого дерьма в обработчиках мыши, вы не сможете легко настроить внешний вид заголовка.
Немного более элегантное (взломанное) решение - скопировать полный источник AdvancedDataGridBaseEx впакет mx.controls (хак, я уверен, что многие из вас знают и одинаково знают о последствиях).