         return new Rectangle(x, y, width, height);
     }
     
-    private function getCellX(row:int, col:int):Number
+    /**
+     *  Returns the X coordinate of the origin of the specified cell.
+     */
+    public function getCellX(row:int, col:int):Number
     {
         if (!_columnWidths)
             return col * (defaultColumnWidth + columnGap);

    private var startY:Number = 0;
    private var recentNode:GridRowNode = null;
    
    //--------------------------------------------------------------------------
    //
    //  Constructor

        return x;
    }
    
    /**
     *  Returns the Y coordinate of the origin of the specified cell.
     */
    public function getCellY(row:int, col:int):Number
    {        // no cache so we use default heights for each row.
        if (!isNaN(fixedRowHeight))
            return row * (fixedRowHeight + rowGap);
