protected String getColumnName(DataSet dataSet, int index) { int ncolumns = dataSet.getColumns().size(); if (index < ncolumns) { return dataSet.getColumnByIndex(index).getName(); } throw new IndexOutOfBoundsException("Index " + index + " is greater than " + "the number of columns in the data set " + ncolumns); }
protected PagedTable<Integer> createTable() { final PagedTable<Integer> pagedTable = new PagedTable<Integer>(displayerSettings.getTablePageSize()); List<DataColumn> dataColumns = dataSet.getColumns(); for ( int i = 0; i < dataColumns.size(); i++ ) { DataColumn dataColumn = dataColumns.get(i); String columnName = dataColumn.getName(); Column<Integer, ?> column = createColumn( dataColumn, i ); if ( column != null ) { column.setSortable( true ); pagedTable.addColumn( column, columnName ); } } pagedTable.setRowCount( numberOfRows, true ); int height = 40 * displayerSettings.getTablePageSize() + 20; pagedTable.setHeight( ( height > ( Window.getClientHeight() - this.getAbsoluteTop() ) ? ( Window.getClientHeight() - this.getAbsoluteTop() ) : height ) + "px" ); int tableWidth = displayerSettings.getTableWidth(); pagedTable.setWidth( tableWidth == 0 ? dataColumns.size() * 100 + "px" : tableWidth + "px"); pagedTable.setEmptyTableCaption( TableConstants.INSTANCE.tableDisplayer_noDataAvailable() ); if (displayerSettings.isTableSortEnabled()) { pagedTable.addColumnSortHandler(new ColumnSortEvent.AsyncHandler( pagedTable ) { public void onColumnSort( ColumnSortEvent event ) { lastOrderedColumn = ((DataColumnCell) event.getColumn().getCell()).columnId; lastSortOrder = event.isSortAscending() ? SortOrder.ASCENDING : SortOrder.DESCENDING; redraw(); } }); } return pagedTable; }