This blog isn't maintained anymore. Check out my current project, an agile/scrum management tool.

Friday, July 27, 2007

Custom DataGrid headerRenderer based on Canvas

I ran into a problem that I'm still not sure what was happening today. I had something like this:

public class MyHeader extends Canvas
{
...
}

...

myDataGridColumn.headerRenderer = new ClassFactory( MyHeader );

It worked, but upon mouse over or mouse move it would flicker like crazy. Extending Label or Button works no problem. I tried implementing various interfaces like IDataRenderer, IDropInListItemRenderer, and IListItemRenderer but still had the same results.

A quick fix I found was to intercept and cancel those mouse events in my header class.

addEventListener(MouseEvent.MOUSE_OVER, onMouseOver, true );
addEventListener(MouseEvent.MOUSE_MOVE, onMouseOver, true );
...
protected function onMouseOver(event:MouseEvent) : void
{
event.preventDefault();
}

Now everything seems to work fine. But I'm still at a loss on why this happened in the first place and I worry my hack of a fix is the wrong way to do it. Has anyone successfully gotten a custom header renderer based on a container working?

Labels:

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]



<< Home