             case CollectionEventKind.REFRESH:
             case CollectionEventKind.RESET:
             {
-                resetColumns(IList(event.target).length);
+                columnCount = IList(event.target).length;
                 break;
             }
                 

        recentNode = null;
        recentNode2 = null;   
    }
    
    /**
     *  Clears the cache and resets GridDimensions such that the
     *  number of columns is newLength.
     */
    public function resetColumns(columnsLength:int):void
    {
        // clear cached information
        clear();
        
        // fix up the number of columns
        _columnCount = columnsLength;
        _columnWidths.length = columnsLength;
        typicalCellHeights.length = columnsLength;
        typicalCellWidths.length = columnsLength;
        rowList.numColumns = columnsLength
        
        // clear the rest of the vectors
        clearTypicalCellWidthsAndHeights();
        clearVector(_columnWidths, NaN, 0, _columnCount);
    }
    
    /**
     *  Moves count number of rows from the fromRow index to the toRow
     *  index. This operation will not affect rowCount.

    
    /**
     *  @private
     * 
     *  Clears the cache and resets GridDimensions such that the
     *  number of columns is value.
     */
    public function set columnCount(value:int):void
    {
        // Don't short-circuit return if the column count didn't change.
        // There might be a new set of columns which is the same length
        // as the old set of columns.

        // clear cached information
        clear();
        
        // fix up the number of columns
        _columnCount = value;
        _columnWidths.length = value;
        typicalCellHeights.length = value;
        typicalCellWidths.length = value;
        rowList.numColumns = value;
        
        // clear the rest of the vectors
        clearTypicalCellWidthsAndHeights();
        clearVector(_columnWidths, NaN, 0, _columnCount);
    }

    //----------------------------------
