/** * <p>sortBy.</p> * * @param sortColumns a {@link net.sf.dynamicreports.report.builder.column.TextColumnBuilder} object. * @return a {@link net.sf.dynamicreports.report.builder.DatasetBuilder} object. */ public DatasetBuilder sortBy(TextColumnBuilder<?>... sortColumns) { Validate.notNull(sortColumns, "sortColumns must not be null"); Validate.noNullElements(sortColumns, "sortColumns must not contains null sortColumn"); for (TextColumnBuilder<?> sortColumn : sortColumns) { sortBy(DynamicReports.asc(sortColumn)); } return this; }
/** * Adds a sort field to the dataset * * @param sortColumns columns to be sorted * @return a report builder */ public T sortBy(TextColumnBuilder<?>... sortColumns) { Validate.notNull(sortColumns, "sortColumns must not be null"); Validate.noNullElements(sortColumns, "sortColumns must not contains null sortColumn"); for (TextColumnBuilder<?> sortColumn : sortColumns) { sortBy(DynamicReports.asc(sortColumn)); } return (T) this; }
/** * <p>sort.</p> * * @param adhocSort a {@link net.sf.dynamicreports.adhoc.configuration.AdhocSort} object. * @return a {@link net.sf.dynamicreports.report.builder.SortBuilder} object. */ protected SortBuilder sort(AdhocSort adhocSort) { SortBuilder sort; ColumnBuilder<?, ?> sortColumn = columns.get(adhocSort.getName()); if (sortColumn != null && sortColumn instanceof TextColumnBuilder<?>) { sort = DynamicReports.asc((TextColumnBuilder<?>) sortColumn); } else { sort = DynamicReports.asc(getFieldExpression(adhocSort.getName())); } sort.setOrderType(orderType(adhocSort.getOrderType())); return sort; }
private void build() { try { TextColumnBuilder<String> itemColumn = col.column("Item", "item", type.stringType()); TextColumnBuilder<Integer> quantityColumn = col.column("Quantity", "quantity", type.integerType()); TextColumnBuilder<BigDecimal> unitPriceColumn = col.column("Unit price", "unitprice", type.bigDecimalType()); report().setTemplate(Templates.reportTemplate) .columns(itemColumn, quantityColumn, unitPriceColumn) .title(Templates.createTitleComponent("Sort")) .pageFooter(Templates.footerComponent) .sortBy(asc(itemColumn), desc(unitPriceColumn)) .setDataSource(createDataSource()) .show(); } catch (DRException e) { e.printStackTrace(); } }