             invalidateSize();
             invalidateDisplayList();
             
+            gridDimensions.clear();
+            if (_dataProvider)
+                gridDimensions.rowCount = _dataProvider.length;
+            
             dispatchChangeEvent("dataProviderChanged");        
         }
         

                return;
            
            _typicalItem = value;
            dispatchChangeEvent("typicalItemChanged");
            
            invalidateSize();
            invalidateDisplayList();

            invalidateProperties();
            invalidateSize();
            invalidateDisplayList();

            gridDimensions.clear();
            if (_columns)
                gridDimensions.columnCount = _columns.length;
            if (_dataProvider) // clearing the gridDimensions resets rowCount
                gridDimensions.rowCount = _dataProvider.length;
            
            dispatchChangeEvent("columnsChanged");        
        }
