     //--------------------------------------------------------------------------
     
     /**
-     *  @copy spark.components.gridClasses.GridSelection#selectAll()
+     *  If <code>selectionMode</code> is 
+     *  <code>GridSelectionMode.MULTIPLE_ROWS</code>, selects all rows and
+     *  removes the caret or if <code>selectionMode</code> is 
+     *  <code>GridSelectionMode.MULTIPLE_CELLS</code> selects all cells  
+     *  and removes the caret.  For all other selection modes, this method 
+     *  has no effect.
+     *
+     *  <p>If items are added to the <code>dataProvider</code> or 
+     *  <code>columns</code> are added after this method is called, the
+     *  new rows or cells in the new column will be selected.</p>
+     * 
+     *  <p>This implicit "selectAll" mode ends when any of the following occur:
+     *  <ul>
+     *    <li>selection is cleared using <code>clearSelection</code></li>
+     *    <li>selection reset using one of <code>setSelectedCell</code>, 
+     *    <code>setSelectedCells</code>, <code>setSelectedIndex</code>, 
+     *    <code>selectIndices</code></li>
+     *    <li><code>dataProvider</code> is refreshed and <code>preserveSelection</code> is false</li>
+     *    <li><code>dataProvider</code> is reset</li>
+     *    <li><code>columns</code> is refreshed, 
+     *    <code>preserveSelection</code> is <code>false</code> and 
+     *    <code>selectionMode</code> is 
+     *    <code>GridSelectionMode.MULTIPLE_CELLS</code></li>
+     *    <li><code>columns</code> is reset and <code>selectionMode</code> is 
+     *    <code>GridSelectionMode.MULTIPLE_CELLS</code></li> 
+     *  </ul></p>
+     * 
+     *  @return <code>true</code> if the selection changed.
      *    
      *  @see spark.components.Grid#clearSelection
      *  @see spark.components.Grid#selectIndices

    public function invalidateCell(rowIndex:int, columnIndex:int):void
    {
        if (!dataProvider)
			return;
		
		const dataProviderLength:int = dataProvider.length;
		if (rowIndex >= dataProvider.length)
			return;
		
		if (!isCellVisible(rowIndex, columnIndex))
			return;

        if (invalidateDisplayListFlag || invalidateSizeFlag)
            return;        
		
		if ((rowIndex >= 0) && (columnIndex >= 0))
		{
            gridLayout.invalidateCell(rowIndex, columnIndex);
		}
        else if (rowIndex >= 0)  // invalidate a row
        {
            const visibleColumnIndices:Vector.<int> = getVisibleColumnIndices();

    [Bindable("valueCommit")]
    
    /**
     *  If <code>selectionMode</code> is <code>GridSelectionMode.SINGLE_ROW</code> 
     *  or <code>GridSelectionMode.MULTIPLE_ROWS</code>, 
     *  returns the number of selected rows. 
     *  If <code>selectionMode</code> is <code>GridSelectionMode.SINGLE_CELLS</code> 
     *  or <code>GridSelectionMode.MULTIPLE_CELLS</code>, 
     *  returns the number of selected cells.
     * 
     *  @default 0
     * 
     *  @langversion 3.0
     *  @playerversion Flash 10
