Hi Alex and Tom,

Sorry it took so long to reply,i am in a different time zone..:)
We opened a Service Request# 1-41683716
This issue happens because the itemrenderers are "expensive" so they 
are recycled.
Tom, you can't do it with one method.
If you try to, it will call the addEventListener each time the data 
is changed.

Thanks,
Yossi
--- In [email protected], "Alex Harui" <[EMAIL PROTECTED]> wrote:
>
> Has Adobe refused to fix it?  Can you point me to the bug?
> 
> ________________________________
> 
> From: [email protected] 
[mailto:[EMAIL PROTECTED] On
> Behalf Of yossigordin
> Sent: Wednesday, November 28, 2007 12:11 AM
> To: [email protected]
> Subject: [flexcoders] Re: Help! Datagrid bug?
> 
> 
> 
> Hi,
> 
> I know this problem, happened to me once.
> This is a known issue that won't be fixed by Adobe.
> It usually happens when you try to scroll - the data is presented 
in 
> a wrong way.
> But it has a solution.
> 
> Add an event listener for FlexEvent.DataChange in your 
itemRenderer.
> In the listener function do your code again.
> for instance if i have an inline item renderer that presents a 
> property named currentConcurrentCalls, i need to add an event 
> listener for the dataChange event and render it again there :
> <mx:itemRenderer>
> <mx:Component>
> <mx:HBox width="100%" creationComplete="doInit()">
> <mx:Script>
> <![CDATA[
> import mx.events.FlexEvent;
> import mx.resources.ResourceBundle;
> [ResourceBundle("hostlynx")]
> private static const _rb:ResourceBundle;
> [Bindable] 
> private var strMaxConcurrentCalls:String; 
> 
> private function doInit():void{
> if(data!=null && data.entityObject 
> ["currentConcurrentCalls"] != null){
> strMaxConcurrentCalls = 
> data.entityObject.currentConcurrentCalls;
> } 
> addEventListener(FlexEvent.DATA_CHANGE,dataChange); 
> }
> private function dataChange(event:FlexEvent):void{
> if(data!=null && data.entityObject
> ["currentConcurrentCalls"] != null){
> strMaxConcurrentCalls = 
> data.entityObject.currentConcurrentCalls;
> } 
> }
> ]]>
> </mx:Script>
> <mx:Text id="txtCurrentCalls" text="{strMaxConcurrentCalls}" 
> styleName="dataGridText"/>
> </mx:HBox>
> </mx:Component>
> </mx:itemRenderer>
> 
> Hope it helps,
> Yossi
> --- In [email protected] <mailto:flexcoders%
40yahoogroups.com>
> , "Alex Harui" <aharui@> wrote:
> >
> > Which version? Can you post a small test case?
> > 
> > ________________________________
> > 
> > From: [email protected] <mailto:flexcoders%
40yahoogroups.com>
> 
> [mailto:[email protected] <mailto:flexcoders%
40yahoogroups.com>
> ] On
> > Behalf Of danny_yoo88
> > Sent: Tuesday, November 27, 2007 6:03 PM
> > To: [email protected] <mailto:flexcoders%
40yahoogroups.com> 
> > Subject: [flexcoders] Help! Datagrid bug?
> > 
> > 
> > 
> > Hi,
> > 
> > I have a DataGrid with an inline itemRenderer.
> > 
> > Originally the DataGrid was using an Array as a data source.
> > Everything was fine.
> > 
> > Then I changed my datasource to an object containing sub-objects 
> and I
> > revised my datagrid accordingly.
> > 
> > I use DateChooser to fire off an event when a date is selected. 
The
> > DataGrid listens for the event and event-code adds the date to 
the
> > data source.
> > 
> > Everything works BUT...
> > 
> > When I enter dates in newest to older sequence, the DataGrid 
> renders
> > TWO rows for the older date. i.e:
> > 
> > Row 1: November 26, 2007
> > Row 1: November 26, 2007
> > Row 2: November 27, 2007
> > 
> > When I inspect the data source and the 
> DataGrid.dataProvider.source I
> > only see two entries.
> > 
> > When I hover over November 26, 2007, only the last instance 
> responds
> > by highlighting the row blue. I can't do anything to the first 
row.
> > 
> > The only way to make things right is to click on a header-column 
to
> > sort the grid or add another date. Then the duplicate magically
> > disappears.
> > 
> > I can't seem to do anything to the DataGrid (invalidateList, 
etc) 
> to
> > force update the grid.
> > 
> > Any ideas?
> > 
> > Thanks,
> > 
> > Danny
> >
>


Reply via email to