protected List<Integer> getCurrentPageRows(HasData<Integer> display) { final int start = ((PagedTable) display).getPageStart(); int pageSize = ((PagedTable) display).getPageSize(); int end = start + pageSize; if (end > numberOfRows) end = numberOfRows; final List<Integer> rows = new ArrayList<Integer>(end-start); for (int i = 0; i < end-start; i++) { rows.add(i); } return rows; }
/** * Both filter & sort invoke this method from redraw() */ public void gotoFirstPage() { // Avoid fetching the data set again lastOffset = 0; table.pager.setPage(0); // This calls internally to onRangeChanged() when the page changes int start = table.getPageStart(); final List<Integer> rows = getCurrentPageRows(table); updateRowData(start, rows); }
/** * This is invoked internally by the PagedTable on navigation actions. */ protected void onRangeChanged(final HasData<Integer> display) { int start = ((PagedTable) display).getPageStart(); final List<Integer> rows = getCurrentPageRows(display); if (lastOffset == start) { updateRowData(start, rows); } else { lastOffset = start; lookupDataSet(lastOffset, new DataSetReadyCallback() { public void callback(DataSet dataSet) { updateRowData(lastOffset, rows); } public void notFound() { displayMessage("ERROR: Data set not found."); } } ); } } }
protected void onRangeChanged( HasData<SearchPageRow> display ) { searchRequest.setStartRowIndex( dataGrid.getPageStart() ); searchRequest.setPageSize( dataGrid.getPageSize() ); createCall( new RemoteCallback<PageResponse<SearchPageRow>>() { public void callback( final PageResponse<SearchPageRow> response ) { updateRowCount( response.getTotalRowSize(), response.isTotalRowSizeExact() ); updateRowData( response.getStartRowIndex(), response.getPageRowList() ); } }, SearchService.class ).fullTextSearch( searchRequest ); } } );
protected void onRangeChanged( HasData<SearchPageRow> display ) { queryRequest.setStartRowIndex( dataGrid.getPageStart() ); queryRequest.setPageSize( dataGrid.getPageSize() ); createCall( new RemoteCallback<PageResponse<SearchPageRow>>() { public void callback( final PageResponse<SearchPageRow> response ) { updateRowCount( response.getTotalRowSize(), response.isTotalRowSizeExact() ); updateRowData( response.getStartRowIndex(), response.getPageRowList() ); } }, SearchService.class ).queryMetadata( queryRequest ); } } );
@Override public void onBrowserEvent(Context context, Element parent, String value, NativeEvent event, ValueUpdater<String> valueUpdater) { if (selectable) { String eventType = event.getType(); switch (eventType) { case MOUSEOVER: parent.getStyle().setCursor(Style.Cursor.POINTER); break; case CLICK: int rowIndexInPage = context.getIndex() - table.getPageStart(); getPresenter().selectCell(columnId, rowIndexInPage); break; } } } }
@Override public void onBrowserEvent(Context context, Element parent, String value, NativeEvent event, ValueUpdater<String> valueUpdater) { if (selectable) { String eventType = event.getType(); switch (eventType) { case MOUSEOVER: parent.getStyle().setCursor(Style.Cursor.POINTER); break; case CLICK: int rowIndexInPage = context.getIndex() - table.getPageStart(); getPresenter().selectCell(columnId, rowIndexInPage); break; } } } }