<component> defines a sub-document boundary. You have to put your handler in a script block inside the <component> tag or try to use outerDocument to reference the main script block.
________________________________ From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of phdcpe01 Sent: Monday, August 06, 2007 5:07 PM To: [email protected] Subject: [flexcomponents] Re: Datagrid Update Flex wouldn't let me. I did an inline renderer: <datagrid.... <datacolumn blah blah blah... <component... <itemrenderer> <checkbox change="processmychange()"... </checkbox> </itemrenderer> </component> </datacolumn> </datagrid> Flex said it couldn't find processmychange(). However, when I put the change="processmychange()" inside the datagrid declaration, it found it okay. --- In [email protected] <mailto:flexcomponents%40yahoogroups.com> , "Alex Harui" <[EMAIL PROTECTED]> wrote: > > If you hang it on the DG, then any click in the row whether on the > checkbox or not will send a change (of selectedIndex) > > If you hang it on the checkbox, then a change to the selected state of > the checkbox will trigger your code. > > > > How are you trying to get the change handler on the checkbox? > > > > > > ________________________________ > > From: [email protected] <mailto:flexcomponents%40yahoogroups.com> > [mailto:[email protected] <mailto:flexcomponents%40yahoogroups.com> ] On Behalf Of phdcpe01 > Sent: Monday, August 06, 2007 2:22 PM > To: [email protected] <mailto:flexcomponents%40yahoogroups.com> > Subject: [flexcomponents] Re: Datagrid Update > > > > Just to be clear, should I be monitoring a change on the datagrid, or > the checkbox? If it's supposed to be on the checkbox, I'm in trouble > because it's not letting me put in a change="processmyChange" handler > on it. > --- In [email protected] <mailto:flexcomponents%40yahoogroups.com> > <mailto:flexcomponents%40yahoogroups.com> , "Alex Harui" <aharui@> > wrote: > > > > OK, it looks like you're relying on the state of > editedItemRenderer. In > > that case, you might want to set rendererIsEditor=true and > > editable=true, but still react to the change handler instead of > > itemEditEnd > > > > > > > > > > > > > > > > ________________________________ > > > > From: [email protected] <mailto:flexcomponents%40yahoogroups.com> > <mailto:flexcomponents%40yahoogroups.com> > > [mailto:[email protected] <mailto:flexcomponents%40yahoogroups.com> > <mailto:flexcomponents%40yahoogroups.com> ] On Behalf Of phdcpe01 > > Sent: Monday, August 06, 2007 11:25 AM > > To: [email protected] <mailto:flexcomponents%40yahoogroups.com> > <mailto:flexcomponents%40yahoogroups.com> > > Subject: [flexcomponents] Re: Datagrid Update > > > > > > > > I believe this may work, but it introduces two more problems: > > 1. Without renderiseditor, my checkbox turns into a text field when > > the user selects it, as opposed to simply remaining a checkbox. > > 2. Since I'm monitoring it on the change, instead of the end of the > > change, my logic for testing whether I should add the row to the > > arraycollection will be confused. Before, I would check to see if > the > > checkbox.selected = true (meaning they added it), and I would. Now, > > according to the debugging sessions, checkbox.selected = false all > > the time. How do I get around these problems? > > > > --- In [email protected] <mailto:flexcomponents%40yahoogroups.com> > <mailto:flexcomponents%40yahoogroups.com> > > <mailto:flexcomponents%40yahoogroups.com> , "Alex Harui" <aharui@> > > wrote: > > > > > > Turn off rendererIsEditor and use "change" instead of itemEditEnd. > > > > > > > > > > > > Editors are session based and don't "execute" until you move > focus > > from > > > the cell. > > > > > > > > > > > > ________________________________ > > > > > > From: [email protected] <mailto:flexcomponents%40yahoogroups.com> > <mailto:flexcomponents%40yahoogroups.com> > > <mailto:flexcomponents%40yahoogroups.com> > > > [mailto:[email protected] <mailto:flexcomponents%40yahoogroups.com> > <mailto:flexcomponents%40yahoogroups.com> > > <mailto:flexcomponents%40yahoogroups.com> ] On Behalf Of phdcpe01 > > > Sent: Monday, August 06, 2007 6:22 AM > > > To: [email protected] <mailto:flexcomponents%40yahoogroups.com> > <mailto:flexcomponents%40yahoogroups.com> > > <mailto:flexcomponents%40yahoogroups.com> > > > Subject: [flexcomponents] Re: Datagrid Update > > > > > > > > > > > > DG1: Has a checkbox as the item renderer, with itemaseditor set > to > > > true. > > > itemEditEnd is set to call a function, passing in the event. The > > > listener has this code: > > > public function processmyGrid1(event:DataGridEvent):void { > > > trace("ended event"); > > > if(event.dataField=="selected"){ > > > if(mx.controls.CheckBox(myGrid1.editedItemRenderer).selected) > > > myArrayList.addItem(myGrid1.editedItemRenderer.data); > > > else > > > trace(myArrayList.getItemIndex > > > (myGrid1.editedItemRenderer.data).toString()); > > > > > > } > > > > > > //myArrayList.itemUpdated(myGrid1.editedItemRenderer.data); > > > //myArrayList.refresh(); > > > //myGrid2.validateNow(); > > > //myGrid2.invalidateDisplayList(); > > > //myGrid2.invalidateList(); > > > //myPanel.validateDisplayList(); > > > myPanel.invalidateDisplayList(); > > > > > > Elsewhere, I have code along the lines of: > > > myGrid2.dataprovider = myArrayList; > > > > > > When the above code executes, the object is added to myGrid2, but > > > it's not reflected in it until I click. All the commented out > > > statements are things I've tried, that still don't work. myPanel > is > > > the panel that holds myGrid2. > > > > > > --- In [email protected] <mailto:flexcomponents%40yahoogroups.com> > <mailto:flexcomponents%40yahoogroups.com> > > <mailto:flexcomponents%40yahoogroups.com> > > > <mailto:flexcomponents%40yahoogroups.com> , "Alex Harui" > <aharui@> > > > wrote: > > > > > > > > How are you adding the row to the second DG's array collection? > > > > > > > > What does your renderer code look like? > > > > > > > > > > > > > > > > ________________________________ > > > > > > > > From: [email protected] <mailto:flexcomponents%40yahoogroups.com> > <mailto:flexcomponents%40yahoogroups.com> > > <mailto:flexcomponents%40yahoogroups.com> > > > <mailto:flexcomponents%40yahoogroups.com> > > > > [mailto:[email protected] <mailto:flexcomponents%40yahoogroups.com> > <mailto:flexcomponents%40yahoogroups.com> > > <mailto:flexcomponents%40yahoogroups.com> > > > <mailto:flexcomponents%40yahoogroups.com> ] On Behalf Of phdcpe01 > > > > Sent: Saturday, August 04, 2007 7:43 PM > > > > To: [email protected] <mailto:flexcomponents%40yahoogroups.com> > <mailto:flexcomponents%40yahoogroups.com> > > <mailto:flexcomponents%40yahoogroups.com> > > > <mailto:flexcomponents%40yahoogroups.com> > > > > Subject: [flexcomponents] Re: Datagrid Update > > > > > > > > > > > > > > > > That still didn't do the trick... > > > > --- In [email protected] <mailto:flexcomponents%40yahoogroups.com> > <mailto:flexcomponents%40yahoogroups.com> > > <mailto:flexcomponents%40yahoogroups.com> > > > <mailto:flexcomponents%40yahoogroups.com> > > > > <mailto:flexcomponents%40yahoogroups.com> , "Alex Harui" > > <aharui@> > > > > wrote: > > > > > > > > > > I think you want itemUpdated() > > > > > > > > > > > > > > > > > > > > ________________________________ > > > > > > > > > > From: [email protected] <mailto:flexcomponents%40yahoogroups.com> > <mailto:flexcomponents%40yahoogroups.com> > > <mailto:flexcomponents%40yahoogroups.com> > > > <mailto:flexcomponents%40yahoogroups.com> > > > > <mailto:flexcomponents%40yahoogroups.com> > > > > > [mailto:[email protected] <mailto:flexcomponents%40yahoogroups.com> > <mailto:flexcomponents%40yahoogroups.com> > > <mailto:flexcomponents%40yahoogroups.com> > > > <mailto:flexcomponents%40yahoogroups.com> > > > > <mailto:flexcomponents%40yahoogroups.com> ] On Behalf Of > phdcpe01 > > > > > Sent: Saturday, August 04, 2007 7:03 PM > > > > > To: [email protected] <mailto:flexcomponents%40yahoogroups.com> > <mailto:flexcomponents%40yahoogroups.com> > > <mailto:flexcomponents%40yahoogroups.com> > > > <mailto:flexcomponents%40yahoogroups.com> > > > > <mailto:flexcomponents%40yahoogroups.com> > > > > > Subject: [flexcomponents] Re: Datagrid Update > > > > > > > > > > > > > > > > > > > > I do call arraycollection.refresh() afterwards. However, the > DG > > > > only > > > > > updates when you click the panel that contains it, instead of > > > > > immediately. > > > > > --- In [email protected] <mailto:flexcomponents%40yahoogroups.com> > <mailto:flexcomponents%40yahoogroups.com> > > <mailto:flexcomponents%40yahoogroups.com> > > > <mailto:flexcomponents%40yahoogroups.com> > > > > <mailto:flexcomponents%40yahoogroups.com> > > > > > <mailto:flexcomponents%40yahoogroups.com> , "Tracy Spratt" > > > > <tspratt@> > > > > > > > > > > wrote: > > > > > > > > > > > > Are you using the ArrayCollection API to update it? This > > should > > > > > cause > > > > > > the DG to update automatically. > > > > > > > > > > > > Tracy > > > > > > > > > > > > -----Original Message----- > > > > > > From: [email protected] <mailto:flexcomponents%40yahoogroups.com> > <mailto:flexcomponents%40yahoogroups.com> > > <mailto:flexcomponents%40yahoogroups.com> > > > <mailto:flexcomponents%40yahoogroups.com> > > > > <mailto:flexcomponents%40yahoogroups.com> > > > > > <mailto:flexcomponents%40yahoogroups.com> > > > > > > [mailto:[email protected] <mailto:flexcomponents%40yahoogroups.com> > <mailto:flexcomponents%40yahoogroups.com> > > <mailto:flexcomponents%40yahoogroups.com> > > > <mailto:flexcomponents%40yahoogroups.com> > > > > <mailto:flexcomponents%40yahoogroups.com> > > > > > <mailto:flexcomponents%40yahoogroups.com> ] On Behalf Of > > phdcpe01 > > > > > > Sent: Saturday, August 04, 2007 2:36 PM > > > > > > To: [email protected] <mailto:flexcomponents%40yahoogroups.com> > <mailto:flexcomponents%40yahoogroups.com> > > <mailto:flexcomponents%40yahoogroups.com> > > > <mailto:flexcomponents%40yahoogroups.com> > > > > <mailto:flexcomponents%40yahoogroups.com> > > > > > <mailto:flexcomponents%40yahoogroups.com> > > > > > > Subject: [flexcomponents] Datagrid Update > > > > > > > > > > > > Hello, > > > > > > I've got two datagrids, myGrid1 and myGrid2. Basically, the > > > user > > > > > can > > > > > > select a row in myGrid1, and it'll show up in myGrid2. I am > > > using > > > > > an > > > > > > arraycollection as the dataprovider for myGrid2. Selecting > > the > > > > > checkbox > > > > > > in myGrid1 properly adds the corresponding row to the > > > > > arraycollection. > > > > > > However, this isn't reflected in myGrid2 unless you click > on > > > it, > > > > or > > > > > > some other window moves in front of it. How can I make > > myGrid2 > > > > > update > > > > > > each time there's a change to the arraycollection? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Yahoo! Groups Links > > > > > > > > > > > > > > > > > > > > >
