Looks like there are a couple of bugs in there.  File the bugs against Adobe if 
you have an Adobe support contract, otherwise file against Apache Flex.

I used the following hack in applyDateFilter that appears to work.  If you 
don't change the scrollposition, it doesn't cause a full update of the screen.

                
                var oldvsp:Number = dgTransactions.grid.verticalScrollPosition;
                _dateFilteredCollection = new 
ArrayCollection(dateFilteredArray);
                applySort();
                applySearch();
                dgTransactions.grid.verticalScrollPosition = oldvsp + .1;
                dgTransactions.grid.verticalScrollPosition = oldvsp;

-Alex



--- In flexcoders@yahoogroups.com, Wouter Schreuders <wschreuders@...> wrote:
>
> Hi Alex
> 
> To replicate the problem.
> 
> - launch the app (it will populate the datagrid with values)
> 
> - choose a different date in the date picker on the top left
> 
> - the dataprovider will get updated but the datagrid doesn't update
> properly, instead it just remains blank
> 
> - use the scroller on the right-hand side to scroll through the datagrid,
> the datagrid will then render properly
> 
> Thanks
> 
> Wouter
> 
> On 26 April 2012 08:37, Alex Harui <aharui@...> wrote:
> 
> > **
> >
> >
> > What are the steps to reproduce the problem?
> >
> >
> >
> > On 4/20/12 12:54 AM, "Wouter Schreuders" <wschreuders@...> wrote:
> >
> >
> >
> >
> >
> >
> > I've made a simple test case in which I can replicate the problem. If
> > anyone feels like having a look you can download it here:
> >
> > http://www.filefactory.com/file/6oz4m4wrkx31/n/DataGridRender_zip
> >
> >
> >
> > On 4 April 2012 23:12, Alex Harui <aharui@...> wrote:
> >
> >
> >
> >
> >
> >
> > Do you have a simple test case?
> >
> >
> >
> >
> > On 4/4/12 8:43 AM, "Wouter Schreuders" <wschreuders@... <
> > http://wschreuders@...> > wrote:
> >
> >
> >
> >
> >
> >
> > spark DG
> >
> >
> > On 4 April 2012 17:28, Alex Harui <aharui@... <
> > http://aharui@...> > wrote:
> >
> >
> >
> >
> >
> >
> > MX or Spark DG?
> >
> >
> >
> >
> >
> >
> > On 4/4/12 12:05 AM, "Wouter Schreuders" <wschreuders@... <
> > http://wschreuders@...>  <http://wschreuders@...> > wrote:
> >
> >
> >
> >
> >
> >
> > I thought that that may be the case, so I removed all my custom
> > itemrenderers but the problem remains, I've also noticed that the problem
> > only occurs after I have entered a date range, if I stick with the standard
> > date range then problem doesn't occur.
> >
> > On 3 April 2012 22:23, Alex Harui <aharui@... <
> > http://aharui@...>  <http://aharui@...> > wrote:
> >
> >
> >
> >
> >
> >
> > That sounds more like an issue with custom renderers.
> >
> >
> >
> >
> > On 4/3/12 4:47 AM, "Wouter Schreuders" <wschreuders@... <
> > http://wschreuders@...>  <http://wschreuders@...>  <
> > http://wschreuders@...> > wrote:
> >
> >
> >
> >
> >
> >
> > Hi All
> >
> > I've run into a rendering problem with the datagrid.
> >
> > I have a datagrid that a user can search using a date range, furthermore
> > the user can also search using keywords. I do this by first looking at the
> > date range and applying a filter to the array of objects based on the
> > dates. Then I make of a copy of that arraycollection and assign the
> > arraycollection which binds to my datagrid to that collection.
> >
> > The problem is that when the user selects a date range and I apply the
> > filter, the datagrid content disappears. The scrollbar on the side updates
> > though and if I scroll down then the content appears and renders correctly.
> > I've tried the following post refresh commands but none of them solve the
> > problem.
> >
> > (datagrid.dataProvider as ArrayCollection).refresh();
> > datagrid .invalidateSkinState();
> > datagrid .invalidateDisplayList();
> > datagrid .validateNow();
> >
> > Here's the code where I get the date range.
> >
> > var dateFilteredArray:Array = _transactions.source.filter(
> > function (item:Transaction, index:int, array:Array):Boolean
> > {
> > if(Date.parse(item.displayDate) < dateRangeComponent.startDate.valueOf()
> > || Date.parse(item.displayDate) > dateRangeComponent.endDate.valueOf())
> > return false
> > else
> > return true //item is inside date range
> > }
> > );
> > _dateFilteredCollection = new ArrayCollection(dateFilteredArray);
> >
> > Anyone run into this before?
> >
> >
> >
> >
> >
> > --
> > Alex Harui
> > Flex SDK Team
> > Adobe Systems, Inc.
> > http://blogs.adobe.com/aharui
> >
> >  
> >
>


Reply via email to