Loading ...
Sorry, an error occurred while loading the content.

Re: datagrid not rendering after dataprovider update

Expand Messages
  • Alex H
    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
    Message 1 of 12 , Apr 27 11:34 PM
    View Source
    • 0 Attachment
      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
      > >
      > >
      > >
      >
    • Wouter Schreuders
      Thanks Alex Your workaround works perfectly, I ve filed the bug here : http://bugs.adobe.com/jira/browse/SDK-32172 Thanks again Wouter
      Message 2 of 12 , May 3, 2012
      View Source
      • 0 Attachment
        Thanks Alex

        Your workaround works perfectly, 


        Thanks again

        Wouter

        On 28 April 2012 08:34, Alex H <aharui@...> wrote:
         

        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
        > >
        > >
        > >
        >


      Your message has been successfully submitted and would be delivered to recipients shortly.