Problem solved. But is was bizarre, so I'll explain. Also, I still have one
or two questions, but mainly for education now...

First, I set the visible property of the dataGrid to false. I then check the
redraw region and never saw the area that was causing trouble before. So I
figured it was probably something in the dataGrid. The item renderers being
prime suspect, as I wrote them..

I put it back to visible = true, and played some more. I discovered that the
problem didnt manifest itself at first, only after a fair amount of mouse
activity over the dataGrid. Maybe a memory leak in my item renderer?

Then I looked at Alex Harui's blog, and saw that I could/ should be
extending DataGridItemRenderer. I did that, and all seems fine now. The
speed at which the dataGrid appearance keeps up with the mouse movements
over it is 10x faster than before.

My questions:

1. Are there any known issues with extending Label for item renderers?
1b. What's wrong with example 2 - extending Label - (below)?
2. Assuming that the item renderer only needs to manipulate the text of the
renderer, is example 1  - extending DataItemGrid - (below) a good way to do
it? (I've never written one before, so I'm just checking)
3. Is there anything else wrong with the example 1 below / a better way?


thanks

tom

******************* example 1 ********************

package com.***
{
    import mx.controls.dataGridClasses.DataGridItemRenderer;

    public class LengthRenderer extends DataGridItemRenderer
    {
     override public function set data(value:Object):void
     {
            super.data = value;
            if(value!= null && value.length != null) {
                this.invalidateProperties();
            }
        }

override public function validateProperties():void
{
super.validateProperties();
     var mins:int = Math.floor(data.length/60)
var secs:String = (data.length - mins).toString()
 if (secs.length == 1){secs = "0" + secs}
this.text = mins.toString()+":"+secs
    }
}
}

******************* example 2 ***********************

package com.***
{


    import mx.controls.Label;

    public class LengthRenderer extends Label
    {
     override public function set data(value:Object):void
     {
            super.data = value;
            if(value!= null && value.length != null) {
                this.invalidateDisplayList();
            }
        }

override protected function
updateDisplayList(unscaledWidth:Number,unscaledHeight:Number):void
{
     var mins:int = Math.floor(data.length/60)
var secs:String = (data.length - mins).toString()
if (secs.length == 1){secs = "0" + secs}
  this.text = mins.toString()+":"+secs





    }
}
}

--- In flexcoders@yahoogroups.com, "Tim Hoff" <timh...@...> wrote:
>
>
> Has to be another object on top of the DataGrid.  The redraw region is
> the clue.  Look at the other objects in the same class as the DataGrid.
>
> -TH
>
> --- In flexcoders@yahoogroups.com, "Tracy Spratt" <tspratt@> wrote:
> >
> > If you are pretty sure there is not something invisible covering that
> area,
> > try cleaning the project.
> >
> > Tracy
> >
> >
> >
> > _____
> >
> > From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com]
> On
> > Behalf Of tom s
> > Sent: Saturday, March 07, 2009 6:31 PM
> > To: flexcoders@yahoogroups.com
> > Subject: [flexcoders] dataGrid not receiving user input
> (intermitently) in
> > bottom right
> >
> >
> >
> > I have a datagrid that works ~50% of the time.
> >
> > The other 50% of the time the dataGrid wont accept user interaction in
> the
> > bottom right area (the bottom 3 (of 6) rows, right 2 (of 4) columns).
> >
> > i.e. that part of the grid does not react to mouse over events, not
> mouse
> > click events.
> >
> > Sometimes is reacts to click events as if they are occurring in the
> row in
> > which a mouse_over interaction was last observed.
> >
> >
> >
> > Looking at the redraw regions, I see that a redraw region occasionally
> > appears in the bottom right of the grid - exactly where he grid is not
> > receiving user input.
> >
> > So that is probably related.
> >
> > But I don't know what it is a redraw region for. I've checked my other
> > component and they aren't near.
> >
> >
> >
> > I have the following custom item renderers:
> >
> > column 2: extends Canvas
> >
> > column 3: extends Label
> >
> > column 4: extends Label.
> >
> >
> >
> > Anyone know what might be causing this?
> >
> > Or how to fix it / diagnose it further?
> >
> >
> >
> > thanks
> >
> >
> >
> > tom
> >
>

Reply via email to