     {
         if (!validateIndex(rowIndex) )
             return false;
-                
+        
+        if (requireSelection && containsOnlyRow(rowIndex))
+            return false;
+                            
         if (selectAllFlag)
         {
             // Add the row to the delete list.

        if (selectAllFlag)
            return true;

        const firstRemoveIndex:int = event.location;
        const lastRemoveIndex:int = event.location + event.items.length - 1;
  

     */    
    private function hasRowSelection():Boolean
    {
        return allRows().length > 0;
    }
    
    /**
