      */
     protected function dataGrid_focusHandler(event:FocusEvent):void
     {
-        if (event.target == this && grid && (grid.layout is GridLayout))
+        if (!grid || !(grid.layout is GridLayout))
+            return;
+              
+        // Show the caret if the focus is either on the DataGrid or the
+        // columnHeaderBar.
+        
+        if (event.target == this || 
+            (columnHeaderGroup && event.target == columnHeaderGroup))
         { 
-            GridLayout(grid.layout).showCaret = (event.type == FocusEvent.FOCUS_IN &&
-                                                (selectionMode != GridSelectionMode.NONE));
+            GridLayout(grid.layout).showCaret = 
+                event.type == FocusEvent.FOCUS_IN &&
+                selectionMode != GridSelectionMode.NONE;
         }    
     }
     

    public function DataGrid()
    {
        super();
    }
    
    //--------------------------------------------------------------------------

        if (!grid || event.isDefaultPrevented())
            return;

        // Ctrl-A only comes thru on Mac.  On Windows it is a SELECT_ALL
        // event.
        if (event.keyCode == Keyboard.A && event.ctrlKey)
        { 
            selectAllFromKeyboard();
            return;
        }

