/** * <p>percentage.</p> * * @param fieldName a {@link java.lang.String} object. * @param valueClass a {@link java.lang.Class} object. * @param showInColumn a {@link net.sf.dynamicreports.report.builder.column.ColumnBuilder} object. * @return a {@link net.sf.dynamicreports.report.builder.subtotal.PercentageSubtotalBuilder} object. */ public static PercentageSubtotalBuilder percentage(String fieldName, Class<? extends Number> valueClass, ColumnBuilder<?, ?> showInColumn) { return percentage(DynamicReports.<Number>field(fieldName, valueClass), showInColumn); }
/** * 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>init.</p> */ protected void init() { levelField = field("level", type.integerType()); textField = field("text", type.stringType()); referenceField = field("reference", type.stringType()); pageIndexField = field("pageIndex", type.integerType()); referenceHyperLink = hyperLink(); referenceHyperLink.setAnchor(new ReferenceExpression()); referenceHyperLink.setType(HyperLinkType.LOCAL_ANCHOR); pageIndexDigits = String.valueOf(headings).length(); if (titleStyle == null) { titleStyle = stl.style().bold().setFontSize(16).setHorizontalTextAlignment(HorizontalTextAlignment.CENTER); } }
@Override public JasperReportBuilder evaluate(ReportParameters reportParameters) { JasperReportBuilder report = report().columns(col.column("comment", type.stringType())); return report; } }
private void build() { try { report().setTemplate(Templates.reportTemplate) .fields(field("orderdate", Date.class), quantityField = field("quantity", Integer.class), field("unitprice", BigDecimal.class)) .columns(col.column("Item", "item", type.stringType()), col.column("Expression column", new ExpressionColumn())) .title(Templates.createTitleComponent("ExpressionColumn")) .pageFooter(Templates.footerComponent) .setDataSource(createDataSource()) .show(); } catch (DRException e) { e.printStackTrace(); } }
/** * {@inheritDoc} */ @Override public void beforeDetailEval() throws JRScriptletException { super.beforeDetailEval(); dynamicSubreport = report(); dynamicSubreport.setTemplate(Templates.reportTemplate) .setPageFormat(515, PageType.A4.getHeight(), PageOrientation.PORTRAIT) .setPageMargin(margin(0)) .columns(col.column("Item", "item", type.stringType()), col.column("Quantity", "quantity", type.integerType()), col.column("Unit price", "unitprice", type.integerType())) .title(cmp.text("Dynamic subreport").setStyle(Templates.bold12CenteredStyle)); }
private void build() { FieldBuilder<String> itemField = field("item", type.stringType()); FieldBuilder<Integer> quantityField = field("quantity", type.integerType()); FieldBuilder<BigDecimal> unitPriceField = field("unitprice", type.bigDecimalType()); TableOfContentsHeadingBuilder tocHeading1 = tableOfContentsHeading(); TextFieldBuilder<String> title1 = cmp.text("Title1").setTableOfContentsHeading(tocHeading1); TableOfContentsHeadingBuilder tocHeading2 = tableOfContentsHeading().setParentHeading(tocHeading1); TextFieldBuilder<String> title2 = cmp.text("Title2").setTableOfContentsHeading(tocHeading2); BarChartBuilder chart = cht.barChart() .setDataSource(createChartDataSource()) .setCategory(itemField) .series(cht.serie(quantityField).setLabel("Quantity"), cht.serie(unitPriceField).setLabel("Unit price")) .setTableOfContentsHeading("Chart"); try { report().setTemplate(Templates.reportTemplate) .tableOfContents() .title(Templates.createTitleComponent("TableOfContents2"), title1, title2, cmp.subreport(createSubreport(1)), cmp.subreport(createSubreport(2)), chart) .pageFooter(Templates.footerComponent) .show(); } catch (DRException e) { e.printStackTrace(); } }
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(); } }
private void build() { try { JasperHtmlExporterBuilder htmlExporter = export.htmlExporter("c:/report.html").setImagesDirName("c:/images").setOutputImagesToDir(true); report().setTemplate(template()).title(Templates.createTitleComponent("Map"), cmp.map(40.7f, -74f, 12).setFixedHeight(750)).toHtml(htmlExporter); } catch (DRException e) { e.printStackTrace(); } } }
private JasperReportBuilder createSubreport(int index) { TextFieldBuilder<String> title = cmp.text("Subreport" + index).setStyle(Templates.bold12CenteredStyle).setTableOfContentsHeading(tableOfContentsHeading()); JasperReportBuilder report = report(); report.setTemplate(Templates.reportTemplate) .title(title) .columns(col.column("Item", "item", type.stringType()), col.column("Quantity", "quantity", type.integerType()), col.column("Unit price", "unitprice", type.bigDecimalType())) .setDataSource(createSubreportDataSource()); return report; }
/** * <p>setDataSource.</p> * * @param dataSource a {@link net.sf.jasperreports.engine.JRDataSource} object. * @return a T object. */ public T setDataSource(JRDataSource dataSource) { DatasetBuilder dataset = DynamicReports.dataset(); dataset.setDataSource(dataSource); return setSubDataset(dataset); }
/** * URL build * @param element URL element * @param jasperReportBuilder report builder * @return ComponentBuilder */ @Override public ComponentBuilder build(@NotNull URL element, JasperReportBuilder jasperReportBuilder) { java.net.URL url = element.getUrl(); String urlString = url != null ? url.toString() : ""; String label = element.getLabel() == null ? urlString : element.getLabel(); if (url != null) { return cmp.text(label) .setStyle(defaultHyperlinkStyle.setParentStyle(element.getStyle())) .setHyperLink(hyperLink(url.toString())); } return null; } }
/** * <p>page.</p> * * @param report a {@link net.sf.dynamicreports.report.builder.ReportBuilder} object. * @param adhocPage a {@link net.sf.dynamicreports.adhoc.configuration.AdhocPage} object. */ protected void page(ReportBuilder<?> report, AdhocPage adhocPage) { if (adhocPage == null) { return; } report.setPageFormat(adhocPage.getWidth(), adhocPage.getHeight(), pageOrientation(adhocPage.getOrientation())); MarginBuilder margin = DynamicReports.margin(); if (adhocPage.getTopMargin() != null) { margin.setTop(adhocPage.getTopMargin()); } if (adhocPage.getBottomMargin() != null) { margin.setBottom(adhocPage.getBottomMargin()); } if (adhocPage.getLeftMargin() != null) { margin.setLeft(adhocPage.getLeftMargin()); } if (adhocPage.getRightMargin() != null) { margin.setRight(adhocPage.getRightMargin()); } report.setPageMargin(margin); report.setIgnorePageWidth(adhocPage.getIgnorePageWidth()); }
/** * <p>setTableOfContentsHeading.</p> * * @param label a {@link java.lang.String} object. * @return a T object. */ public T setTableOfContentsHeading(String label) { TableOfContentsHeadingBuilder tocHeading = DynamicReports.tableOfContentsHeading(label); return setTableOfContentsHeading(tocHeading); }
@Override public JasperReportBuilder evaluate(ReportParameters reportParameters) { int masterRowNumber = reportParameters.getReportRowNumber(); JasperReportBuilder report = report(); report.setTemplate(Templates.reportTemplate).title(cmp.text("Subreport" + masterRowNumber).setStyle(Templates.bold12CenteredStyle)); IntStream.rangeClosed(1, masterRowNumber).mapToObj(i -> col.column("Column" + i, "column" + i, type.stringType())).forEach(report::addColumn); return report; } }
private void build() { try { report().setTemplate(Templates.reportTemplate) .fields(field("quantity", Integer.class), field("unitprice", BigDecimal.class)) .columns(col.column("Item", "item", type.stringType()), col.column("Price", new SimpleExpression())) .title(Templates.createTitleComponent("SimpleExpression")) .pageFooter(Templates.footerComponent) .setDataSource(createDataSource()) .show(); } catch (DRException e) { e.printStackTrace(); } }
private void build() { try { report().setTemplate(template().setBarcodeHeight(40)) .title(Templates.createTitleComponent("Barcode"), cmp.text("Barcode4j").setStyle(Templates.bold18CenteredStyle), barcode4j(), cmp.verticalGap(10), cmp.text("ZXing").setStyle(Templates.bold18CenteredStyle), barcode("QrCode", bcode.qrCode("12345678")), cmp.verticalGap(10), cmp.text("Barbecue").setStyle(Templates.bold18CenteredStyle), barbecue()) .show(); } catch (DRException e) { e.printStackTrace(); } }
/** * <p>setDataSource.</p> * * @param sql a {@link java.lang.String} object. * @param connection a {@link java.sql.Connection} object. * @return a {@link net.sf.dynamicreports.googlecharts.report.geomap.GeoMapBuilder} object. */ public GeoMapBuilder setDataSource(String sql, Connection connection) { DatasetBuilder dataset = DynamicReports.dataset(); dataset.setDataSource(sql, connection); return setSubDataset(dataset); }
private ComponentBuilder<?, ?> countryHeadingComponent() { HorizontalListBuilder headingComponent = cmp.horizontalList(); HyperLinkBuilder countryReferenceHyperLink = hyperLink(); countryReferenceHyperLink.setAnchor(new CountryExpression(referenceField)); countryReferenceHyperLink.setType(HyperLinkType.LOCAL_ANCHOR); StyleBuilder style = stl.style(Templates.rootStyle).setFontSize(12).bold().setBackgroundColor(Color.LIGHT_GRAY); TextFieldBuilder<String> textComponent = cmp.text(textField).setHyperLink(countryReferenceHyperLink).setStyle(style); headingComponent.add(textComponent); TextFieldBuilder<String> pageIndexComponent = cmp.text(new CountryHeadingExpression()).setHyperLink(countryReferenceHyperLink).setStyle(style).setHorizontalTextAlignment(HorizontalTextAlignment.RIGHT); headingComponent.add(pageIndexComponent); return headingComponent; }