             
             selectionLayer.select(selectedCells);
         }
+        
+        private function calculateCellsPerPage():Number
+        {
+            var result:int = int(Math.floor(assemblyTableHeight / CellRenderer.CELL_HEIGHT));
+            
+            result = (result <= 1) ? 1 : (result - 1);
+            
+            return result;
+        }
     }
 }
        {
            if(activeCell.index > 0) {
                updateActiveCell(columns[activeCell.column.index].column.cells[activeCell.index - 1]);
            }
        }
        

                tryToMoveCaretUp();
            } else if(event.keyCode == Keyboard.DOWN) {
                tryToMoveCaretDown();
            } else if(event.keyCode == Keyboard.PAGE_DOWN) {
                tryToMoveCaretPageDown();
            } else if(event.keyCode == Keyboard.PAGE_UP) {
                tryToMoveCaretPageUp();
            }
            
            selectCellsInRange(shiftSelectionStartCell, activeCell);
