         if (!grid || event.isDefaultPrevented())
             return;
 
-        // Caret is not required for ctrl-A selectAll operation.
+        // Ctrl-A only comes thru on Mac.  On Windows it is a SELECT_ALL
+        // event.
         if (event.keyCode == Keyboard.A && event.ctrlKey)
-        {            
-            if (selectionMode == GridSelectionMode.MULTIPLE_CELLS || 
-                selectionMode == GridSelectionMode.MULTIPLE_ROWS)
-            {
-                commitInteractiveSelection(
-                    GridSelectionEventKind.SELECT_ALL,
-                    0, 0, dataProvider.length, columns.length);
-                
-                grid.anchorRowIndex = 0;
-                grid.anchorColumnIndex = 0;
-                commitCaretPosition(-1, -1);
-            }
+        { 
+            selectAllFromKeyboard();
             return;
         }
 

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

     */
    protected function dataGrid_focusHandler(event:FocusEvent):void
    {
        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;
        }    
    }
    
