 
     @scrollView.scrollTop()
 
-  requestUpdate: =>
+  requestUpdate: (forceUpdate=false) =>
+    @hasChanged = forceUpdate
+
     return if @updateRequested
 
     @updateRequested = true


  getRowHeight: -> @rowHeight

  setRowHeight: (@rowHeight) ->
    @component.setState rowHeight: @getRowHeight()

  getRowOverdraw: -> @rowOverdraw or 0

  setRowOverdraw: (@rowOverdraw) -> @requestUpdate()

  getFirstVisibleRow: ->
    row = Math.floor(@scrollView.scrollTop() / @getRowHeight())

    firstVisibleRow = @getFirstVisibleRow()
    lastVisibleRow = @getLastVisibleRow()

    return if firstVisibleRow >= @firstRenderedRow and lastVisibleRow <= @lastRenderedRow and not @hasChanged

    firstRow = Math.max 0, firstVisibleRow - @rowOverdraw
    lastRow = Math.min @table.getRowsCount(), lastVisibleRow + @rowOverdraw
