     {
         if (event.cancelable)
             event.preventDefault();
-        else
-            event.stopPropagation();
+    }
+
+    /**
+     *   @private
+     *   Stop the data grid from seeing the mouse move events.
+     */ 
+    private function mouseMoveHandler(event:MouseEvent):void
+    {
+        // Redispatch the event to the dataGrid's parent and stop
+        // the event from propagating past the editor.
+        // The stopPropagation() keeps the grid from showing hover from mouse
+        // moves within the editor. 
+        // Dispatching the mouse move event to the data grid's parent 
+        // keeps the data grid from seeing the event and allows the
+        // RichEditableText control to see the event (it listens to the stage).
+        var pt:Point = dataGrid.parent.globalToLocal(new Point(event.stageX, event.stageY));
+        event.localX = pt.x;
+        event.localY = pt.y;
+        dataGrid.parent.dispatchEvent(event);
+        event.stopPropagation();
     }
 }
 }
import spark.components.gridClasses.GridColumn;
import spark.components.DataGrid;
import spark.components.Group;

use namespace mx_internal;


        clearErrorStringFromContainer(this);
        removeEventListener(MouseEvent.MOUSE_UP, mouseUpDownMoveHandler);
        removeEventListener(MouseEvent.MOUSE_DOWN, mouseUpDownMoveHandler);
        removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
    }
    
    /**
