Here is the debug trace:

ypeError: Error #1010: A term is undefined and has no properties.
at mx.controls.listClasses::ListBase/shiftRow()[C:\autobuild \3.2.0\frameworks\projects\framework\src\mx\controls\listClasses \ListBase.as:6975] at mx.controls.dataGridClasses::DataGridBase/shiftRow()[C:\autobuild \3.2.0\frameworks\projects\framework\src\mx\controls\dataGridClasses \DataGridBase.as:2170] at mx.controls.listClasses::ListBase/scrollVertically()[C:\autobuild \3.2.0\frameworks\projects\framework\src\mx\controls\listClasses \ListBase.as:6677] at mx.controls::DataGrid/scrollVertically()[C:\autobuild \3.2.0\frameworks\projects\framework\src\mx\controls\DataGrid.as:5098] at mx.controls.listClasses::ListBase/set verticalScrollPosition()[C: \autobuild\3.2.0\frameworks\projects\framework\src\mx\controls \listClasses\ListBase.as:1314] at mx.controls::DataGrid/set verticalScrollPosition()[C:\autobuild \3.2.0\frameworks\projects\framework\src\mx\controls\DataGrid.as:906] at mx.controls::DataGrid/scrollHandler()[C:\autobuild\3.2.0\frameworks \projects\framework\src\mx\controls\DataGrid.as:1942]
        at flash.events::EventDispatcher/dispatchEventFunction()
        at flash.events::EventDispatcher/dispatchEvent()
at mx.core::UIComponent/dispatchEvent()[C:\autobuild\3.2.0\frameworks \projects\framework\src\mx\core\UIComponent.as:9298] at mx.controls.scrollClasses::ScrollBar/http://www.adobe.com/2006/flex/mx/internal::dispatchScrollEvent() [C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\controls \scrollClasses\ScrollBar.as:1261] at mx.controls.scrollClasses::ScrollThumb/mouseMoveHandler()[C: \autobuild\3.2.0\frameworks\projects\framework\src\mx\controls \scrollClasses\ScrollThumb.as:206]

On 12 Mar 2009, at 11:35, Simon Bailey wrote:

Hi all,


Any ideas why on scroll of a datagrid the #1010 error is firing from the ListBase class on this line of code: rowMap[r.name].rowIndex = newIndex;

I have seen this problem in the past with Flex 2 and funnily enough have not seen it since, now its rearing its head again. Using the below code (love the comments by the Adobe team) and digging in the debugger I see that r.name (CustomGridRenderer3134) is not showing in list of items on the rowMap hence the error being thrown?

protected function shiftRow(oldIndex:int, newIndex:int, numCols:int, shiftItems:Boolean):void
{
    var r:IListItemRenderer;
    for (var j:int = 0; j < numCols; j++)
    {
        r = listItems[oldIndex][j];
        if (shiftItems)
        {
            listItems[newIndex][j] = r;
            rowMap[r.name].rowIndex = newIndex;
        }
        // this is sort of a hack to accomodate the fact that
        // scrolling down does a splice which throws off these values.
        // probably better to call shiftRow with different parameters?
        else
            rowMap[r.name].rowIndex = oldIndex;
    }
    if (shiftItems)
        rowInfo[newIndex] = rowInfo[oldIndex];
}

Cheers, Simon



Reply via email to