 				group: "navi"
 				onClick: =>
 					@__offset = @__offset - @_chunk_size
-					@displayValue()
+					@loadPage(@__offset / @_chunk_size)
 
 			page_data = {}
 
 			load_page = =>
-				@__offset = (page_data.page - 1) * @_chunk_size
-				@displayValue()
+				@loadPage(page_data.page - 1)
 
 			@__navi_input = new CUI.NumberInput
 				group: "navi"

				group: "navi"
				onClick: =>
					@__offset = @__offset + @_chunk_size
					@displayValue()

		if buttons.length
			new CUI.Buttonbar(buttons: buttons)

				return
		@

	loadPage: (page) ->
		maxPage = Math.floor(@rows?.length / @_chunk_size)
		if not CUI.util.isNumber(page) or maxPage < 0 or page > maxPage
			return

		@__offset = page * @_chunk_size
		@displayValue()
		@_onLoadPage?(page)
		return

	displayValue: ->
		@listView.removeAllRows()
		if not @_no_header
