         else
             gridSelection.selectionMode = value;
         
+        // Show the caret if we have focus and not in grid selection mode of "none".
+        if (grid && grid.layout is GridLayout &&
+            caretIndicator)
+        {
+            GridLayout(grid.layout).showCaret = (value != GridSelectionMode.NONE && 
+                                                 this == getFocus());
+        }
+            
         dispatchChangeEvent("selectionModeChanged");
     }
     

            columnHeaderBar.removeEventListener(GridEvent.SEPARATOR_MOUSE_DRAG, separator_mouseDragHandler);
            columnHeaderBar.removeEventListener(GridEvent.SEPARATOR_MOUSE_UP, separator_mouseUpHandler);             
        }
    }
    
    //----------------------------------

        
        cursorManager.removeCursor(stretchCursorID);
    }     
    
    //--------------------------------------------------------------------------
    //
    //  DataGrid event handlers
    //
    //--------------------------------------------------------------------------  
    
    /**
     *  @private
     */
    protected function dataGrid_focusHandler(event:FocusEvent):void
    {
        if (event.target == this && grid && (grid.layout is GridLayout))
        { 
            GridLayout(grid.layout).showCaret = (event.type == FocusEvent.FOCUS_IN &&
                                                (selectionMode != GridSelectionMode.NONE));
        }    
    }
    
}
}