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

Re: [flexcoders] datagrid not rendering after dataprovider update

Expand Messages
  • Alex Harui
    What are the steps to reproduce the problem? On 4/20/12 12:54 AM, Wouter Schreuders wrote: I ve made a simple test case in which I
    Message 1 of 12 , Apr 25 11:37 PM
    View Source
    • 0 Attachment
      Re: [flexcoders] datagrid not rendering after dataprovider update 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
      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 -
      Message 2 of 12 , Apr 26 1:00 AM
      View Source
      • 0 Attachment
        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


      • 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 3 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 4 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.