Well, the main reason I wouldn't want to write my own itemRenderer is that AdvancedDataGridGroupItemRenderer does a lot of stuff I wouldn't want to have to reinvent. It also interacts with stuff like iconFunction that would be annoying to re-implement. Plus, there's the fact that there's a high likelihood that what I wrote would be much less efficient.
But good news! I found a simple way to achieve what I want: <?xml version="1.0" encoding="utf-8"?> <Application xmlns="http://www.adobe.com/2006/mxml" > <Script> <![CDATA[ // put any icon you want in the embed below, doesn't matter [Bindable] [Embed(source="imageA.png")] private var imgClass:Class; private function geticon(item:Object):Class { return imgClass; } ]]> </Script> <AdvancedDataGrid iconFunction="geticon" itemClick="trace('itemclick')" click="trace('gridclick')"> <groupItemRenderer> <Component> <AdvancedDataGridGroupItemRenderer mouseEnabled="true"/> </Component> </groupItemRenderer> <dataProvider> <HierarchicalData childrenField="subitems" source="{[{label:'test'}, {label:'test2'}]}"/> </dataProvider> <columns> <AdvancedDataGridColumn dataField="label"/> </columns> </AdvancedDataGrid> </Application> The key was setting mouseEnabled=true. It is set to false in the constructor for ADGGIR. I'm not sure why, and I am a little worried that I may be messing up something important. So far I haven't noticed any odd behavior. But if anyone knows a good reason WHY mouseEnabled is set this way, please followup. On Mon, Jun 29, 2009 at 11:13 AM, valdhor <[email protected]>wrote: > > > Why not just use an itemRenderer? > > AFAIK. you can't capture a mouse event on a Class object as it does not > implement iEventDispatcher. I suppose you could extend Class and implement > iEventDispatcher but I have never tried it. > > > --- In [email protected] <flexcoders%40yahoogroups.com>, Pan > Troglodytes <chimpathe...@...> wrote: > > > > No ideas on how to do this at all? > > > > On Tue, Jun 9, 2009 at 4:13 PM, Pan Troglodytes <chimpathe...@...>wrote: > > > > > > I've got a bit of a problem and haven't been able to figure it out. > When > > > using hierarchical views with ADG, I find that the icon can't be > clicked on > > > to select the row. I can't figure out how to capture a click on the > icon at > > > all. > > > > > > <?xml version="1.0" encoding="utf-8"?> > > > <Application > > > xmlns="http://www.adobe.com/2006/mxml" > > > > > > > <Script> > > > <![CDATA[ > > > // put any icon you want in the embed below, doesn't matter > > > [Bindable] [Embed(source="imageA.png")] private var imgClass:Class; > > > > > > private function geticon(item:Object):Class > > > { > > > return imgClass; > > > } > > > ]]> > > > </Script> > > > <AdvancedDataGrid iconFunction="geticon" itemClick="trace('itemclick')" > > > click="trace('gridclick')"> > > > <dataProvider> > > > <HierarchicalData childrenField="subitems" source="{[{label:'test'}, > > > {label:'test2'}]}"/> > > > </dataProvider> > > > <columns> > > > <AdvancedDataGridColumn dataField="label"/> > > > </columns> > > > </AdvancedDataGrid> > > > </Application> > > > > > > If you click anywhere but the icon, the gridclick and itemclick events > both > > > fire. But if you click on the icon, you get only the gridclick. And the > > > gridclick event doesn't get anything useful for target/currentTarget, > as far > > > as I can tell. > > > > > > The main thing I really want to do is have clicking on the icon select > the > > > row, just like clicking anywhere else will do. Tangentially, it would > be > > > nice to know how to capture the event in case I wanted to do something > > > different with clicking on the icon. > > > > > > -- > > > Jason > > > > > > > > > > > -- > > Jason > > > > > -- Jason

