             invalidateSize();
             invalidateDisplayList();
             
-            //TBD: clear selection and dimnsions        
+            //TBD: clear selection and dimnsions
+            gridDimensions.clear();
+            if (_columns)
+                gridDimensions.columnCount = _columns.length;
+            if (_dataProvider) // clearing the gridDimensions resets rowCount
+                gridDimensions.rowCount = _dataProvider.length;
             
             dispatchChangeEvent("columnsChanged");        
         }

                }                                
            }
            
            if (gridSelection)
                gridSelection.columnsCollectionChanged(event);
            

            invalidateSize();
            invalidateDisplayList();
            
            //TBD: clear selection
            gridDimensions.clear();
            if (_dataProvider)
                gridDimensions.rowCount = _dataProvider.length;
            
            dispatchChangeEvent("dataProviderChanged");        
        }
