     /**
      *  @private
      */
-    public function set showDataTips(value:Boolean):void
-    {
-        if (_showDataTips == value)
+    public function set showDataTips(value:*):void
+    {
+        if (_showDataTips === value)
             return;
 
         _showDataTips = value;
+        
+        if (grid)
+            grid.invalidateDisplayList();
+        
         dispatchChangeEvent("showDataTipsChanged");        
+    }
+    
+
+    mx_internal function getShowDataTips():Boolean
+    {
+        return (showDataTips === undefined) ? grid && grid.showDataTips : showDataTips;    
     }
     
     //----------------------------------

    //----------------------------------
    
    private var _dataTipField:String = null;
    private var dataTipFieldPath:Array = [];
    
    [Bindable("dataTipFieldChanged")]    
    

        
        _dataTipField = value;
        
        if (grid)
            grid.invalidateDisplayList();
        
        dispatchChangeEvent("dataTipFieldChanged");
    }
