I’ve created a branch data_grid_update that contains my proposed fix to this. 
You can see usage here [1].



[1] https://github.com/yishayw/Examples/blob/DataGrid_force_change/Examples.mxml



________________________________
From: Yishay Weiss <[email protected]>
Sent: Monday, October 30, 2017 5:27:58 PM
To: [email protected]
Subject: RE: [royale-asjs] 02/02: Revert "Updating the source of an ArrayList 
does not change the view of the component without this change."

Currently the composite view (DataGridView) has some code designed to propagate 
the data change event to its subviews (DataGridColumnList). I think we need to 
move this code to a separate bead. Then we’ll have finer control over whether 
or not changes in runtime are reflected in the view. I’ll try to create a 
branch demonstrating this.



________________________________
From: Harbs <[email protected]>
Sent: Sunday, October 29, 2017 1:48:19 AM
To: [email protected]
Subject: Re: [royale-asjs] 02/02: Revert "Updating the source of an ArrayList 
does not change the view of the component without this change."

This change made updating the dataProvider in the DataGridExample work, but it 
seems to have caused an endless recursive layout in some cases.

I’ve reverted it because it seems to have broken existing apps, but I’m not 
completely sure why.

I’m left with the question of how to allow changes to ArrayLists propagating to 
the view without causing the endless loop…

> On Oct 29, 2017, at 1:43 AM, [email protected] wrote:
>
> This is an automated email from the ASF dual-hosted git repository.
>
> harbs pushed a commit to branch develop
> in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
>
> commit 9d20a649a7d417ca62724c98f3906c0d160172ae
> Author: Harbs <[email protected]>
> AuthorDate: Sun Oct 29 01:41:08 2017 +0200
>
>    Revert "Updating the source of an ArrayList does not change the view of 
> the component without this change."
>
>    This reverts commit 313cf14147dfdd53b621b82b949b8544d2b6ed91.
> ---
> .../org/apache/royale/html/beads/models/ArrayListSelectionModel.as       | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git 
> a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/ArrayListSelectionModel.as
>  
> b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/ArrayListSelectionModel.as
> index ec10892..81c606c 100644
> --- 
> a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/ArrayListSelectionModel.as
> +++ 
> b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/ArrayListSelectionModel.as
> @@ -84,6 +84,7 @@ package org.apache.royale.html.beads.models
>          */
>                public function set dataProvider(value:Object):void
>                {
> +            if (value == _dataProvider) return;
>
>             _dataProvider = value as IArrayList;
>                        if(!_dataProvider || _selectedIndex >= 
> _dataProvider.length)
>
> --
> To stop receiving notification emails like this one, please contact
> "[email protected]" <[email protected]>.

Reply via email to