OK, putting a small flag into the function that checks to see if the
data is actually new seems to be a decent way around the firing when
scrolling, but it feels kinda dirty and hackish.

private var str_label:String;
                        
                        override public function set data(value:Object):void
                        {
                                use namespace DOCUMENT_METADATA_NAMESPACE;
                                var q:QName = new 
QName(DOCUMENT_METADATA_NAMESPACE, "PlanNumber");
                                
                                super.data = value;
                                
                                if(data[q] != str_label)
                                {
                                        cb_planNumber.label = str_label = 
data[q];
                                        cb_planNumber.selected = false;
                                }
                        }

Can someone, ideally from Adobe, confirm or deny my thought that the
event being dispatched on scroll is a bug?

Thanks,
Ben


--- In [email protected], "Tim Hoff" <[EMAIL PROTECTED]> wrote:
>
> Hi Ben,
> 
> As Stacey suggests, put this function in your itemRenderer:
> 
> override public function set data(value:Object):void {
>      super.data = value;
>      cb_planNumber.selected = false;
> }
> 
> Everytime the data changes in the itemRenderer, the function will 
> execute.
> 
> -TH
> 
> --- In [email protected], "ben.clinkinbeard" 
> <ben.clinkinbeard@> wrote:
> >
> > I'm sorry Stacey, I don't follow. Can you please explain further?
> > 
> > Thanks,
> > Ben
> > 
> > --- In [email protected], "Stacey Mulcahy" <stacey@> 
> wrote:
> > >
> > > Can you not overwrite the data property it sets using the 
> override and
> > > setting the data of the super to the value and doing what you 
> want?
> > > 
> > >  
> > > 
> > > Override public function set data (value:object):void{ 
> super.data=value;
> > > cb_planNumber.selected=value.someBoolean// do stuff }
> > > 
> > >   _____  
> > > 
> > > From: [email protected] 
> [mailto:[EMAIL PROTECTED] On
> > > Behalf Of ben.clinkinbeard
> > > Sent: Tuesday, July 18, 2006 1:01 PM
> > > To: [email protected]
> > > Subject: [flexcoders] Re: How do I reset itemRenderer inside
> > DataGrid when
> > > dataProvider is updated?
> > > 
> > >  
> > > 
> > > Thanks for the reply, Tim. Unfortunately, the selected state is 
> not
> > > held in the data. The checkboxes should always begin unchecked, 
> but
> > > the user can (obviously) check them. The checkboxes apparently 
> get
> > > reused though, not all created every time, because
> > > cb_planNumber.selected = false; does not work either.
> > > 
> > > Thanks,
> > > Ben
> > > 
> > > --- In [EMAIL PROTECTED] <mailto:flexcoders%40yahoogroups.com>
> > ups.com,
> > > "Tim Hoff" <TimHoff@> wrote:
> > > >
> > > > 
> > > > Hey Ben,
> > > > 
> > > > In addition to setting the label, you have to set the selected
> > property.
> > > > 
> > > > var q:QName = new QName
> (DOCUMENT_METADATA_NAMESPACE, "PlanNumber");
> > > > var r:QName = new QName(DOCUMENT_METADATA_NAMESPACE,
> > > > "PlanNumberSelected");
> > > > cb_planNumber.label = data[q];
> > > > cb_planNumber.selected = data[r];
> > > > 
> > > > Depending on your data structure, PlanNumberSelected is the 
> value
> > field
> > > > from the data.
> > > > 
> > > > -TH
> > > > 
> > > > --- In [EMAIL PROTECTED] <mailto:flexcoders%
> 40yahoogroups.com>
> > ups.com,
> > > "ben.clinkinbeard"
> > > > <ben.clinkinbeard@> wrote:
> > > > >
> > > > > Hello, I have seen this dicussed on here a bit but nothing 
> seems
> > to be
> > > > > working for me. I have a DataGrid whose dataProvider 
> property is
> > bound
> > > > > to an XMLList. One of the columns, however, uses an 
> itemRenderer to
> > > > > display a checkbox with a label. The label comes from the 
> data item,
> > > > > so this is what my itemRenderer component currently looks 
> like:
> > > > >
> > > > > <?xml version="1.0" encoding="utf-8"?>
> > > > > <mx:HBox xmlns:mx="http://www.adobe.
> > <http://www.adobe.com/2006/mxml>
> > > com/2006/mxml"
> > > > > horizontalAlign="center" creationComplete="getLabel()">
> > > > > <mx:Script>
> > > > > <![CDATA[
> > > > > import
> > > > >
> > > >
> > >
> > 
> com.fmr.tests.PSA_Cairngorm.business.namespaces.DOCUMENT_METADATA_NAM
> ESP\
> > > > ACE;
> > > > >
> > > > > private function getLabel():void
> > > > > {
> > > > > use namespace DOCUMENT_METADATA_NAMESPACE;
> > > > > var q:QName = new QName
> (DOCUMENT_METADATA_NAMESPACE, "PlanNumber");
> > > > > cb_planNumber.label = data[q];
> > > > > }
> > > > > ]]>
> > > > > </mx:Script>
> > > > > <mx:CheckBox id="cb_planNumber" />
> > > > > </mx:HBox>
> > > > >
> > > > > The problem is that when the XMLList that is the 
> dataProvider is
> > > > > updated, the checkboxes' labels get updated correctly, but 
> the
> > > > > selected state of the checkboxes does not. So basically I 
> need to
> > > > > capture that event so that I can uncheck all of the 
> checkboxes. A
> > > > > 'labelChanged' event or something similar would be great but 
> doesn't
> > > > > seem to exist. What am I missing here?
> > > > >
> > > > > Thanks in advance,
> > > > > Ben
> > > > >
> > > >
> > >
> >
>






------------------------ Yahoo! Groups Sponsor --------------------~--> 
Check out the new improvements in Yahoo! Groups email.
http://us.click.yahoo.com/6pRQfA/fOaOAA/yQLSAA/nhFolB/TM
--------------------------------------------------------------------~-> 

--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/flexcoders/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 



Reply via email to