     public function removeCell(rowIndex:int, columnIndex:int):Boolean
     {
         if (!validateCell(rowIndex, columnIndex))
+            return false;
+
+        if (requireSelection && containsOnlyCell(rowIndex, columnIndex))
             return false;
         
         if (selectAllFlag)

                removeAll();
                break;
        }
    }

    /**

        // Make a pass thru the saved items, and if the item is still in 
        // the data provider, keep it in the selection, else remove it from 
        // the selection.        
        selectedRows.length = 0;            
        for each (var item:Object in selectedRowValues)
        {
