You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flex.apache.org by "Skylar Sutton (JIRA)" <ji...@apache.org> on 2016/01/12 20:42:39 UTC

[jira] [Comment Edited] (FLEX-35007) Error 1009 in AdvancedListBase after re-binding backing array collection

    [ https://issues.apache.org/jira/browse/FLEX-35007?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15094626#comment-15094626 ] 

Skylar Sutton edited comment on FLEX-35007 at 1/12/16 7:41 PM:
---------------------------------------------------------------

Possibly related/similar to FLEX-34862?


was (Author: skylar.sutton@gmail.com):
Possibly related to FLEX-34862?

> Error 1009 in AdvancedListBase after re-binding backing array collection
> ------------------------------------------------------------------------
>
>                 Key: FLEX-35007
>                 URL: https://issues.apache.org/jira/browse/FLEX-35007
>             Project: Apache Flex
>          Issue Type: Bug
>          Components: Advanced Data Grid
>    Affects Versions: Apache Flex 4.14.1
>            Reporter: Skylar Sutton
>
> h2. Background
> We have an advanced datagrid defined as such:
> {code:borderStyle=solid}
> <mx:AdvancedDataGrid	
>     headerStyleName="headerStyle"
>     headerSortSeparatorSkin="mx.skins.ProgrammaticSkin"
>     id="myGrid"
>     designViewDataType="tree" 
>     displayItemsExpanded="true"
>     treeColumn="{supersessionTreeGrid.columns[1]}"
>     width="100%" 
>     maxWidth="{this.width-10}" 
>     height="100%"
>     dataProvider="{new HierarchicalData(model.myGridData)}"						
>     verticalGridLines="false"
>     sortableColumns="false"
>     draggableColumns="false" 
>     borderAlpha="1"
>     folderClosedIcon="{null}" 
>     folderOpenIcon="{null}"
>     defaultLeafIcon="{null}"
>     variableRowHeight="true"
>     borderVisible="true"
>     columns="{model.myGridCOlumns}" 
> </mx:ExtendedAdvancedDataGrid>
> {code}
> If the ArrayCollection myGridColumns is rebound, from a click that originates within the grid, we're getting a 1009 error on AdvancedListBase:9250
> {code:title=AdvancedListBase.as:9249|borderStyle=solid}
>     var rowData:BaseListData = rowMap[item.name];
>     lastUID = rowData.uid;
> {code}
> h2. Root Cause
> It appears that the AdvancedListBase is trying to execute a mouseOverHandler event against the OLD row data (prior to the rebind). Since the new row data does not contain the item in question, the rowMap lookup returns a null object, and "rowData.uid" pops a NPE. 
> The simple fix is to just wrap another null check around that... but I'm not sure if it's symptmatic of something larger (e.g. should the event be supressed higher up?).
> h2. Simple Fix
> {code:title=AdvancedListBase.as:9247|borderStyle=solid}
>     ...
>     if (lastHighlightItemRenderer && highlightUID)
>     {
>         var rowData:BaseListData = rowMap[item.name];
>         if (!rowData) {
>             return;
>         }
>         lastUID = rowData.uid;
>     }
>     ...
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)