         //
         //  GridLayout Cover Methods, Properties
         //
-        //--------------------------------------------------------------------------   
+        //-------------------------------------------------------------------------- 
+        
+        /** 
+         *  Update the scroll position so that the virtual Grid element at the specified
+         *  index is visible.   Note that getScrollPositionDeltaToElement() is only 
+         *  approximate when variableRowHeight=true, so calling this method once will
+         *  not necessarily scroll far enough to expose the specified element.
+         */
+        private function scrollToIndex(elementIndex:int, scrollHorizontally:Boolean):void
+        {
+            var spDelta:Point = gridLayout.getScrollPositionDeltaToElement(elementIndex);
+            if (!spDelta)
+                return;  // the specified index is no longer valid, punt
+            
+            if (scrollHorizontally)
+                horizontalScrollPosition += spDelta.x;
+            verticalScrollPosition += spDelta.y;
+        }
         
         /**
          *  If necessary, set the verticalScrollPosition and horizontalScrollPosition 

         */
        public function ensureCellIsVisible(rowIndex:int, columnIndex:int = -1):void
        {
            // be safe
            if (rowIndex < 0)
                return;
            
            // A cell's index as defined by LayoutBase it's just its position
            // in the row-major linear ordering of the grid's cells.
            
            const index:int = (rowIndex * dataProvider.length) + ((columnIndex < 0) ? 0 : columnIndex);
            var spDelta:Point = gridLayout.getScrollPositionDeltaToElement(index);
            if (spDelta)
            {
                if (columnIndex >= 0)
                    horizontalScrollPosition += spDelta.x;
                verticalScrollPosition += spDelta.y;
            }
        }        
        
        /**

    import spark.components.supportClasses.CellPosition;
    import spark.components.supportClasses.GridColumn;
    import spark.components.supportClasses.GridDimensions;
    import spark.components.supportClasses.GridLayer;
    import spark.components.supportClasses.GridLayout;
    import spark.components.supportClasses.GridSelection;
    import spark.components.supportClasses.GridSelectionMode;
