package report;
import static net.sf.dynamicreports.report.builder.DynamicReports.cmp;
import static net.sf.dynamicreports.report.builder.DynamicReports.col;
import static net.sf.dynamicreports.report.builder.DynamicReports.exp;
import static net.sf.dynamicreports.report.builder.DynamicReports.grid;
import static net.sf.dynamicreports.report.builder.DynamicReports.report;
import static net.sf.dynamicreports.report.builder.DynamicReports.sbt;
import static net.sf.dynamicreports.report.builder.DynamicReports.stl;
import static net.sf.dynamicreports.report.builder.DynamicReports.type;
import java.awt.Color;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import net.sf.dynamicreports.examples.Templates;
import net.sf.dynamicreports.jasper.builder.JasperReportBuilder;
import net.sf.dynamicreports.report.base.expression.AbstractSimpleExpression;
import net.sf.dynamicreports.report.builder.column.TextColumnBuilder;
import net.sf.dynamicreports.report.builder.grid.ColumnTitleGroupBuilder;
import net.sf.dynamicreports.report.builder.style.ReportStyleBuilder;
import net.sf.dynamicreports.report.builder.style.StyleBuilder;
import net.sf.dynamicreports.report.builder.subtotal.AggregationSubtotalBuilder;
import net.sf.dynamicreports.report.constant.HorizontalAlignment;
import net.sf.dynamicreports.report.constant.PageOrientation;
import net.sf.dynamicreports.report.constant.PageType;
import net.sf.dynamicreports.report.datasource.DRDataSource;
import net.sf.dynamicreports.report.definition.ReportParameters;
import net.sf.dynamicreports.report.exception.DRException;
import net.sf.jasperreports.engine.JRDataSource;
/**
* @author Ricardo Mariaca (r.mariaca@dynamicreports.org)
*/
public class Invoicetest {
private InvoiceData data = new InvoiceData();
private AggregationSubtotalBuilder<BigDecimal> totalSum;
private JRDataSource createDataSource1() {
DRDataSource dataSource = new DRDataSource("item", "quantity", "unitprice", "quantity1", "unitprice1", "quantity2", "unitprice2", "quantity3");
// dataSource.add("Notebook", 1, new BigDecimal(500));
dataSource.add(null,null , null,null , null,null , null);
return dataSource;
}
private JRDataSource createDataSource() {
DRDataSource dataSource = new DRDataSource("item", "orderdate", "quantity");
for (int i = 0; i < 20; i++) {
dataSource.add("Book", new Date(), (int) (Math.random() * 10) + 1);
}
return dataSource;
}
public JasperReportBuilder build() throws DRException {
JasperReportBuilder report5 = report();
try {
ReportStyleBuilder sss=stl.style(Templates.columnStyle)
.setBorder(stl.pen1Point()).setBackgroundColor(Color.red);
TextColumnBuilder<String>[] columns = new TextColumnBuilder[13];
columns[0] = col.column("Totle", "description", type.stringType()).setWidth(200)
.setHorizontalAlignment(HorizontalAlignment.CENTER).setTitleStyle(sss);
columns[1] = col.column("Totle1", "quantity", type.stringType()).setWidth(100)
.setHorizontalAlignment(HorizontalAlignment.CENTER).setTitleStyle(sss);
columns[2] = col.column("Totle2", "unitprice", type.stringType()).setWidth(100)
.setHorizontalAlignment(HorizontalAlignment.CENTER).setTitleStyle(sss);
columns[3] = col.column("Totle3", "description1", type.stringType()).setWidth(100)
.setHorizontalAlignment(HorizontalAlignment.CENTER).setTitleStyle(sss).setWidth(100)
.setHorizontalAlignment(HorizontalAlignment.CENTER).setTitleStyle(sss);
columns[4] = col.column("Totle4", "description2", type.stringType()).setWidth(100)
.setHorizontalAlignment(HorizontalAlignment.CENTER).setTitleStyle(sss);
columns[5] = col.column("Totle5", "description1", type.stringType()).setWidth(100)
.setHorizontalAlignment(HorizontalAlignment.CENTER).setTitleStyle(sss);
columns[6] = col.column("Totle6", "description1", type.stringType()).setWidth(100)
.setHorizontalAlignment(HorizontalAlignment.CENTER).setTitleStyle(sss);
columns[7] = col.column("Totle1", "quanti1ty", type.stringType()).setWidth(100)
.setHorizontalAlignment(HorizontalAlignment.CENTER).setTitleStyle(sss);
columns[8] = col.column("Totle2", "unitp1rice", type.stringType()).setWidth(100)
.setHorizontalAlignment(HorizontalAlignment.CENTER).setTitleStyle(sss);
columns[9] = col.column("Totle3", "descri1ption1", type.stringType()).setWidth(100)
.setHorizontalAlignment(HorizontalAlignment.CENTER).setTitleStyle(sss).setWidth(100)
.setHorizontalAlignment(HorizontalAlignment.CENTER).setTitleStyle(sss);
columns[10] = col.column("Totle4", "desc1ription2", type.stringType()).setWidth(100)
.setHorizontalAlignment(HorizontalAlignment.CENTER).setTitleStyle(sss);
columns[11] = col.column("Totle5", "descr1iption1", type.stringType()).setWidth(100)
.setHorizontalAlignment(HorizontalAlignment.CENTER).setTitleStyle(sss);
columns[12] = col.column("Totle6", "descr1iption1", type.stringType()).setWidth(100)
.setHorizontalAlignment(HorizontalAlignment.CENTER).setTitleStyle(sss);
// columns[7] = col.column("Totle7", "item7", type.stringType());
StyleBuilder columnStyle = stl.style(Templates.columnStyle)
.setBorder(stl.pen1Point()).setBackgroundColor(Color.red);
ReportStyleBuilder s1ss=stl.style(Templates.columnStyle)
.setBorder(stl.pen1Point()).setBackgroundColor(Color.red);
TextColumnBuilder<Integer> quantityColumn11 = col.column("Quantity", "quantity", type.integerType()).setWidth(100)
.setHorizontalAlignment(HorizontalAlignment.CENTER).setTitleStyle(sss);
TextColumnBuilder<BigDecimal> unitPriceColumn0 = col.column("Unit Price", "unitprice", Templates.currencyType).setWidth(100);
TextColumnBuilder<String> colaa0 = col.column("Unit Price", "description1", type.stringType());
TextColumnBuilder<String> colbb0 = col.column("Unit Price", "description2", type.stringType());
TextColumnBuilder<String> colaa10 = col.column("Unit Price", "description1", type.stringType());
TextColumnBuilder<String> colbb10 = col.column("Unit Price", "description2", type.stringType());
TextColumnBuilder<String> colaa20 = col.column("Unit Price", "description1", type.stringType());
TextColumnBuilder<String> colbb20 = col.column("Unit Price", "description2", type.stringType());
TextColumnBuilder<String> priceColumn0 = colaa0
.setTitle("Price")
.setDataType(type.stringType());
//vat = price * tax
TextColumnBuilder<String> priceColumn20 = colbb0
.setTitle("Price1")
.setDataType(type.stringType());
TextColumnBuilder<String> priceColumna0 = colaa10
.setTitle("aPrice")
.setDataType(type.stringType());
//vat = price * tax
TextColumnBuilder<String> priceColumn2a0 = colbb10
.setTitle("aPrice1")
.setDataType(type.stringType());
TextColumnBuilder<String> priceColumnb0 = colaa20
.setTitle("bPrice")
.setDataType(type.stringType());
//vat = price * tax
TextColumnBuilder<String> priceColumn2b0 = colbb20
.setTitle("bPrice1")
.setDataType(type.stringType());
//total = price + vat
ColumnTitleGroupBuilder totalColumn0 = grid.titleGroup("Total Price 1", priceColumn0, priceColumn20);
ColumnTitleGroupBuilder totalColumn10 = grid.titleGroup("Total Price 2", priceColumna0, priceColumn2a0);
ColumnTitleGroupBuilder totalColumn20 = grid.titleGroup("Total Price 3", priceColumnb0, priceColumn2b0);
StyleBuilder subtotalStyle = stl.style(columnStyle)
.bold();
StyleBuilder shippingStyle = stl.style(Templates.boldStyle)
.setHorizontalAlignment(HorizontalAlignment.RIGHT);
report5 = report()//create new report design
.setTemplate(Templates.reportTemplate)
.setTitleStyle(columnStyle)
// .setColumnStyle(columnStyle)
// .setSubtotalStyle(columnStyle)
.columns(//add columns
columns)
.setDataSource(createDataSource1());//set datasource
// .show();//create and show report
} catch (Exception e) {
e.printStackTrace();
}
String titlev = "test title";
JasperReportBuilder report = report();
//init styles
StyleBuilder columnStyle = stl.style(Templates.columnStyle)
.setBorder(stl.pen1Point());
StyleBuilder subtotalStyle = stl.style(columnStyle)
.bold();
StyleBuilder shippingStyle = stl.style(Templates.boldStyle)
.setHorizontalAlignment(HorizontalAlignment.RIGHT);
//init columns
TextColumnBuilder<Integer> rowNumberColumn = col.reportRowNumberColumn()
.setFixedColumns(2)
.setHorizontalAlignment(HorizontalAlignment.CENTER);
// TextColumnBuilder<String> descriptionColumn = col.column("Description", "description", type.stringType())
//
// .setFixedWidth(250);
TextColumnBuilder<String> quantityColumn = col.column("Quantity", "quantity", type.stringType()).setWidth(100)
.setHorizontalAlignment(HorizontalAlignment.CENTER);
TextColumnBuilder<BigDecimal> unitPriceColumn = col.column("Unit Price", "unitprice", Templates.currencyType).setWidth(100);
TextColumnBuilder<String> colaa = col.column("Unit Price", "description1", type.stringType());
TextColumnBuilder<String> colbb = col.column("Unit Price", "description2", type.stringType());
TextColumnBuilder<String> colaa1 = col.column("Unit Price", "description1", type.stringType());
TextColumnBuilder<String> colbb1 = col.column("Unit Price", "description2", type.stringType());
TextColumnBuilder<String> colaa2 = col.column("Unit Price", "description1", type.stringType());
TextColumnBuilder<String> colbb2 = col.column("Unit Price", "description2", type.stringType());
TextColumnBuilder<String> priceColumn = colaa
.setTitle("Price")
.setDataType(type.stringType());
//vat = price * tax
TextColumnBuilder<String> priceColumn2 = colbb
.setTitle("Price1")
.setDataType(type.stringType());
TextColumnBuilder<String> priceColumna = colaa1
.setTitle("aPrice")
.setDataType(type.stringType());
//vat = price * tax
TextColumnBuilder<String> priceColumn2a = colbb1
.setTitle("aPrice1")
.setDataType(type.stringType());
TextColumnBuilder<String> priceColumnb = colaa2
.setTitle("bPrice")
.setDataType(type.stringType());
//vat = price * tax
TextColumnBuilder<String> priceColumn2b = colbb2
.setTitle("bPrice1")
.setDataType(type.stringType());
//total = price + vat
ColumnTitleGroupBuilder totalColumn = grid.titleGroup("Total Price 1", priceColumn, priceColumn2);
ColumnTitleGroupBuilder totalColumn1 = grid.titleGroup("Total Price 2", priceColumna, priceColumn2a);
ColumnTitleGroupBuilder totalColumn2 = grid.titleGroup("Total Price 3", priceColumnb, priceColumn2b);
TextColumnBuilder<String> colaa0 = col.column("Unit Price", "description1", type.stringType());
TextColumnBuilder<String> colbb0 = col.column("Unit Price", "description2", type.stringType());
TextColumnBuilder<String> colaa10 = col.column("Unit Price", "description1", type.stringType());
TextColumnBuilder<String> colbb10 = col.column("Unit Price", "description2", type.stringType());
TextColumnBuilder<String> colaa20 = col.column("Unit Price", "description1", type.stringType());
TextColumnBuilder<String> colbb20 = col.column("Unit Price", "description2", type.stringType());
TextColumnBuilder<String> priceColumn0 = colaa0
.setTitle("Price")
.setDataType(type.stringType());
//vat = price * tax
TextColumnBuilder<String> priceColumn20 = colbb0
.setTitle("Price1")
.setDataType(type.stringType());
TextColumnBuilder<String> priceColumna0 = colaa10
.setTitle("aPrice")
.setDataType(type.stringType());
//vat = price * tax
TextColumnBuilder<String> priceColumn2a0 = colbb10
.setTitle("aPrice1")
.setDataType(type.stringType());
TextColumnBuilder<String> priceColumnb0 = colaa20
.setTitle("bPrice")
.setDataType(type.stringType());
//vat = price * tax
TextColumnBuilder<String> priceColumn2b0 = colbb20
.setTitle("bPrice1")
.setDataType(type.stringType());
//total = price + vat
ColumnTitleGroupBuilder totalColumn0 = grid.titleGroup("Total Price 1", priceColumn0, priceColumn20);
ColumnTitleGroupBuilder totalColumn10 = grid.titleGroup("Total Price 2", priceColumna0, priceColumn2a0);
ColumnTitleGroupBuilder totalColumn20 = grid.titleGroup("Total Price 3", priceColumnb0, priceColumn2b0);
// ColumnGridComponentBuilder a ;
// ListType type = ListType.HORIZONTAL;
// // DRColumnGrid columnGrid = new DRColumnGrid(ListType.HORIZONTAL);
//
// DRColumnGrid columnGrid = new DRColumnGrid(type);
// for (ColumnGridComponentBuilder component : components) {
// columnGrid.addComponent(component.build());
// }
ReportStyleBuilder sss333 = stl.style(Templates.columnStyle)
.setBorder(stl.pen1Point()).setBackgroundColor(Color.red);
// PageType.A4.getWidth()
net.sf.dynamicreports.report.constant.PageType a44 = net.sf.dynamicreports.report.constant.PageType.A4;
a44.setHeight(666);
a44.setWidth(19999);
report
.setPageFormat(PageType.A4, PageOrientation.LANDSCAPE)
.setTemplate(Templates.reportTemplate)
.setColumnStyle(columnStyle)
.setSubtotalStyle(subtotalStyle)
// grid.horizontalColumnGridList(
// quantityColumn, unitPriceColumn, totalColumn,totalColumn1,totalColumn2),
// grid.horizontalColumnGridList(
// quantityColumn11, unitPriceColumn0, totalColumn0,totalColumn10,totalColumn20))
//
.columnGrid(
quantityColumn, unitPriceColumn, totalColumn,totalColumn1,totalColumn2, totalColumn0,totalColumn10,totalColumn20)
// .columnGrid(ListType.HORIZONTAL, quantityColumn, unitPriceColumn, totalColumn,totalColumn1,totalColumn2, totalColumn,totalColumn1,totalColumn2)
// .columnGrid(ListType.HORIZONTAL, quantityColumn, unitPriceColumn, totalColumn,totalColumn1,totalColumn2)
// .columnGrid(
// quantityColumn11, unitPriceColumn, totalColumn,totalColumn1,totalColumn2)
.columns(
quantityColumn, unitPriceColumn,priceColumn, priceColumn2,priceColumna, priceColumn2a,priceColumnb, priceColumn2b,priceColumn0, priceColumn20,priceColumna0, priceColumn2a0,priceColumnb0, priceColumn2b0)
.summary(cmp.subreport(report5))
// .columnFooter(cmp.subreport(report5))
// .summary(cmp.subreport(report5))
.pageFooter(
Templates.footerComponent)
.setDataSource(createInvoice());
return report;
}
private class TotalPaymentExpression extends AbstractSimpleExpression<String> {
private static final long serialVersionUID = 1L;
@Override
public String evaluate(ReportParameters reportParameters) {
return null;
}
}
public static void main(String[] args) {
Invoicetest design = new Invoicetest();
try {
JasperReportBuilder report = design.build();
report.show();
} catch (DRException e) {
e.printStackTrace();
}
}
private List<Item> createInvoice() {
List<Item> items = new ArrayList<Item>();
items.add(createItem("Notebook", "1111111111111wwwwwwwwwwwwwwwwwww111", new BigDecimal(1000)));
items.add(createItem("DVD", "11111111111wwwwwwwwww11111", new BigDecimal(40)));
items.add(createItem("Book", "111111wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww1111111111", new BigDecimal(10)));
items.add(createItem("Phone", "1111www111111111111", new BigDecimal(200)));
for (int i = 0; i < 50;i++) {
items.add(createItem("Notebook", "1111111111111wwwwwwwwwwwwwwwwwww111", new BigDecimal(1000)));
items.add(createItem("DVD", "11111111111wwwwwwwwww11111", new BigDecimal(40)));
items.add(createItem("Book", "111111wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww1111111111", new BigDecimal(10)));
items.add(createItem("Phone", "1111www111111111111", new BigDecimal(200)));
}
return items;
}
private Item createItem(String description, String quantity, BigDecimal unitprice) {
Item item = new Item();
item.setDescription(description);
item.setQuantity(quantity);
item.setUnitprice(unitprice);
item.setDescription1("aaa");
item.setDescription2("bbb");
return item;
}
private List<Item> createInvoice1() {
List<Item> items = new ArrayList<Item>();
items.add(createItem1("Notebook", "1111111111111111", new BigDecimal(1000)));
items.add(createItem1("DVD", "1111111111111111", new BigDecimal(40)));
items.add(createItem1("Book", "1111111111111111", new BigDecimal(10)));
items.add(createItem1("Phone", "1111111111111111", new BigDecimal(200)));
return items;
}
private Item createItem1(String description, String quantity, BigDecimal unitprice) {
Item item = new Item();
item.setDescription(description);
item.setQuantity(quantity);
item.setUnitprice(unitprice);
item.setDescription1("aaa");
item.setDescription2("bbb");
return item;
}
}
import static net.sf.dynamicreports.report.builder.DynamicReports.cmp;
import static net.sf.dynamicreports.report.builder.DynamicReports.col;
import static net.sf.dynamicreports.report.builder.DynamicReports.exp;
import static net.sf.dynamicreports.report.builder.DynamicReports.grid;
import static net.sf.dynamicreports.report.builder.DynamicReports.report;
import static net.sf.dynamicreports.report.builder.DynamicReports.sbt;
import static net.sf.dynamicreports.report.builder.DynamicReports.stl;
import static net.sf.dynamicreports.report.builder.DynamicReports.type;
import java.awt.Color;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import net.sf.dynamicreports.examples.Templates;
import net.sf.dynamicreports.jasper.builder.JasperReportBuilder;
import net.sf.dynamicreports.report.base.expression.AbstractSimpleExpression;
import net.sf.dynamicreports.report.builder.column.TextColumnBuilder;
import net.sf.dynamicreports.report.builder.grid.ColumnTitleGroupBuilder;
import net.sf.dynamicreports.report.builder.style.ReportStyleBuilder;
import net.sf.dynamicreports.report.builder.style.StyleBuilder;
import net.sf.dynamicreports.report.builder.subtotal.AggregationSubtotalBuilder;
import net.sf.dynamicreports.report.constant.HorizontalAlignment;
import net.sf.dynamicreports.report.constant.PageOrientation;
import net.sf.dynamicreports.report.constant.PageType;
import net.sf.dynamicreports.report.datasource.DRDataSource;
import net.sf.dynamicreports.report.definition.ReportParameters;
import net.sf.dynamicreports.report.exception.DRException;
import net.sf.jasperreports.engine.JRDataSource;
/**
* @author Ricardo Mariaca (r.mariaca@dynamicreports.org)
*/
public class Invoicetest {
private InvoiceData data = new InvoiceData();
private AggregationSubtotalBuilder<BigDecimal> totalSum;
private JRDataSource createDataSource1() {
DRDataSource dataSource = new DRDataSource("item", "quantity", "unitprice", "quantity1", "unitprice1", "quantity2", "unitprice2", "quantity3");
// dataSource.add("Notebook", 1, new BigDecimal(500));
dataSource.add(null,null , null,null , null,null , null);
return dataSource;
}
private JRDataSource createDataSource() {
DRDataSource dataSource = new DRDataSource("item", "orderdate", "quantity");
for (int i = 0; i < 20; i++) {
dataSource.add("Book", new Date(), (int) (Math.random() * 10) + 1);
}
return dataSource;
}
public JasperReportBuilder build() throws DRException {
JasperReportBuilder report5 = report();
try {
ReportStyleBuilder sss=stl.style(Templates.columnStyle)
.setBorder(stl.pen1Point()).setBackgroundColor(Color.red);
TextColumnBuilder<String>[] columns = new TextColumnBuilder[13];
columns[0] = col.column("Totle", "description", type.stringType()).setWidth(200)
.setHorizontalAlignment(HorizontalAlignment.CENTER).setTitleStyle(sss);
columns[1] = col.column("Totle1", "quantity", type.stringType()).setWidth(100)
.setHorizontalAlignment(HorizontalAlignment.CENTER).setTitleStyle(sss);
columns[2] = col.column("Totle2", "unitprice", type.stringType()).setWidth(100)
.setHorizontalAlignment(HorizontalAlignment.CENTER).setTitleStyle(sss);
columns[3] = col.column("Totle3", "description1", type.stringType()).setWidth(100)
.setHorizontalAlignment(HorizontalAlignment.CENTER).setTitleStyle(sss).setWidth(100)
.setHorizontalAlignment(HorizontalAlignment.CENTER).setTitleStyle(sss);
columns[4] = col.column("Totle4", "description2", type.stringType()).setWidth(100)
.setHorizontalAlignment(HorizontalAlignment.CENTER).setTitleStyle(sss);
columns[5] = col.column("Totle5", "description1", type.stringType()).setWidth(100)
.setHorizontalAlignment(HorizontalAlignment.CENTER).setTitleStyle(sss);
columns[6] = col.column("Totle6", "description1", type.stringType()).setWidth(100)
.setHorizontalAlignment(HorizontalAlignment.CENTER).setTitleStyle(sss);
columns[7] = col.column("Totle1", "quanti1ty", type.stringType()).setWidth(100)
.setHorizontalAlignment(HorizontalAlignment.CENTER).setTitleStyle(sss);
columns[8] = col.column("Totle2", "unitp1rice", type.stringType()).setWidth(100)
.setHorizontalAlignment(HorizontalAlignment.CENTER).setTitleStyle(sss);
columns[9] = col.column("Totle3", "descri1ption1", type.stringType()).setWidth(100)
.setHorizontalAlignment(HorizontalAlignment.CENTER).setTitleStyle(sss).setWidth(100)
.setHorizontalAlignment(HorizontalAlignment.CENTER).setTitleStyle(sss);
columns[10] = col.column("Totle4", "desc1ription2", type.stringType()).setWidth(100)
.setHorizontalAlignment(HorizontalAlignment.CENTER).setTitleStyle(sss);
columns[11] = col.column("Totle5", "descr1iption1", type.stringType()).setWidth(100)
.setHorizontalAlignment(HorizontalAlignment.CENTER).setTitleStyle(sss);
columns[12] = col.column("Totle6", "descr1iption1", type.stringType()).setWidth(100)
.setHorizontalAlignment(HorizontalAlignment.CENTER).setTitleStyle(sss);
// columns[7] = col.column("Totle7", "item7", type.stringType());
StyleBuilder columnStyle = stl.style(Templates.columnStyle)
.setBorder(stl.pen1Point()).setBackgroundColor(Color.red);
ReportStyleBuilder s1ss=stl.style(Templates.columnStyle)
.setBorder(stl.pen1Point()).setBackgroundColor(Color.red);
TextColumnBuilder<Integer> quantityColumn11 = col.column("Quantity", "quantity", type.integerType()).setWidth(100)
.setHorizontalAlignment(HorizontalAlignment.CENTER).setTitleStyle(sss);
TextColumnBuilder<BigDecimal> unitPriceColumn0 = col.column("Unit Price", "unitprice", Templates.currencyType).setWidth(100);
TextColumnBuilder<String> colaa0 = col.column("Unit Price", "description1", type.stringType());
TextColumnBuilder<String> colbb0 = col.column("Unit Price", "description2", type.stringType());
TextColumnBuilder<String> colaa10 = col.column("Unit Price", "description1", type.stringType());
TextColumnBuilder<String> colbb10 = col.column("Unit Price", "description2", type.stringType());
TextColumnBuilder<String> colaa20 = col.column("Unit Price", "description1", type.stringType());
TextColumnBuilder<String> colbb20 = col.column("Unit Price", "description2", type.stringType());
TextColumnBuilder<String> priceColumn0 = colaa0
.setTitle("Price")
.setDataType(type.stringType());
//vat = price * tax
TextColumnBuilder<String> priceColumn20 = colbb0
.setTitle("Price1")
.setDataType(type.stringType());
TextColumnBuilder<String> priceColumna0 = colaa10
.setTitle("aPrice")
.setDataType(type.stringType());
//vat = price * tax
TextColumnBuilder<String> priceColumn2a0 = colbb10
.setTitle("aPrice1")
.setDataType(type.stringType());
TextColumnBuilder<String> priceColumnb0 = colaa20
.setTitle("bPrice")
.setDataType(type.stringType());
//vat = price * tax
TextColumnBuilder<String> priceColumn2b0 = colbb20
.setTitle("bPrice1")
.setDataType(type.stringType());
//total = price + vat
ColumnTitleGroupBuilder totalColumn0 = grid.titleGroup("Total Price 1", priceColumn0, priceColumn20);
ColumnTitleGroupBuilder totalColumn10 = grid.titleGroup("Total Price 2", priceColumna0, priceColumn2a0);
ColumnTitleGroupBuilder totalColumn20 = grid.titleGroup("Total Price 3", priceColumnb0, priceColumn2b0);
StyleBuilder subtotalStyle = stl.style(columnStyle)
.bold();
StyleBuilder shippingStyle = stl.style(Templates.boldStyle)
.setHorizontalAlignment(HorizontalAlignment.RIGHT);
report5 = report()//create new report design
.setTemplate(Templates.reportTemplate)
.setTitleStyle(columnStyle)
// .setColumnStyle(columnStyle)
// .setSubtotalStyle(columnStyle)
.columns(//add columns
columns)
.setDataSource(createDataSource1());//set datasource
// .show();//create and show report
} catch (Exception e) {
e.printStackTrace();
}
String titlev = "test title";
JasperReportBuilder report = report();
//init styles
StyleBuilder columnStyle = stl.style(Templates.columnStyle)
.setBorder(stl.pen1Point());
StyleBuilder subtotalStyle = stl.style(columnStyle)
.bold();
StyleBuilder shippingStyle = stl.style(Templates.boldStyle)
.setHorizontalAlignment(HorizontalAlignment.RIGHT);
//init columns
TextColumnBuilder<Integer> rowNumberColumn = col.reportRowNumberColumn()
.setFixedColumns(2)
.setHorizontalAlignment(HorizontalAlignment.CENTER);
// TextColumnBuilder<String> descriptionColumn = col.column("Description", "description", type.stringType())
//
// .setFixedWidth(250);
TextColumnBuilder<String> quantityColumn = col.column("Quantity", "quantity", type.stringType()).setWidth(100)
.setHorizontalAlignment(HorizontalAlignment.CENTER);
TextColumnBuilder<BigDecimal> unitPriceColumn = col.column("Unit Price", "unitprice", Templates.currencyType).setWidth(100);
TextColumnBuilder<String> colaa = col.column("Unit Price", "description1", type.stringType());
TextColumnBuilder<String> colbb = col.column("Unit Price", "description2", type.stringType());
TextColumnBuilder<String> colaa1 = col.column("Unit Price", "description1", type.stringType());
TextColumnBuilder<String> colbb1 = col.column("Unit Price", "description2", type.stringType());
TextColumnBuilder<String> colaa2 = col.column("Unit Price", "description1", type.stringType());
TextColumnBuilder<String> colbb2 = col.column("Unit Price", "description2", type.stringType());
TextColumnBuilder<String> priceColumn = colaa
.setTitle("Price")
.setDataType(type.stringType());
//vat = price * tax
TextColumnBuilder<String> priceColumn2 = colbb
.setTitle("Price1")
.setDataType(type.stringType());
TextColumnBuilder<String> priceColumna = colaa1
.setTitle("aPrice")
.setDataType(type.stringType());
//vat = price * tax
TextColumnBuilder<String> priceColumn2a = colbb1
.setTitle("aPrice1")
.setDataType(type.stringType());
TextColumnBuilder<String> priceColumnb = colaa2
.setTitle("bPrice")
.setDataType(type.stringType());
//vat = price * tax
TextColumnBuilder<String> priceColumn2b = colbb2
.setTitle("bPrice1")
.setDataType(type.stringType());
//total = price + vat
ColumnTitleGroupBuilder totalColumn = grid.titleGroup("Total Price 1", priceColumn, priceColumn2);
ColumnTitleGroupBuilder totalColumn1 = grid.titleGroup("Total Price 2", priceColumna, priceColumn2a);
ColumnTitleGroupBuilder totalColumn2 = grid.titleGroup("Total Price 3", priceColumnb, priceColumn2b);
TextColumnBuilder<String> colaa0 = col.column("Unit Price", "description1", type.stringType());
TextColumnBuilder<String> colbb0 = col.column("Unit Price", "description2", type.stringType());
TextColumnBuilder<String> colaa10 = col.column("Unit Price", "description1", type.stringType());
TextColumnBuilder<String> colbb10 = col.column("Unit Price", "description2", type.stringType());
TextColumnBuilder<String> colaa20 = col.column("Unit Price", "description1", type.stringType());
TextColumnBuilder<String> colbb20 = col.column("Unit Price", "description2", type.stringType());
TextColumnBuilder<String> priceColumn0 = colaa0
.setTitle("Price")
.setDataType(type.stringType());
//vat = price * tax
TextColumnBuilder<String> priceColumn20 = colbb0
.setTitle("Price1")
.setDataType(type.stringType());
TextColumnBuilder<String> priceColumna0 = colaa10
.setTitle("aPrice")
.setDataType(type.stringType());
//vat = price * tax
TextColumnBuilder<String> priceColumn2a0 = colbb10
.setTitle("aPrice1")
.setDataType(type.stringType());
TextColumnBuilder<String> priceColumnb0 = colaa20
.setTitle("bPrice")
.setDataType(type.stringType());
//vat = price * tax
TextColumnBuilder<String> priceColumn2b0 = colbb20
.setTitle("bPrice1")
.setDataType(type.stringType());
//total = price + vat
ColumnTitleGroupBuilder totalColumn0 = grid.titleGroup("Total Price 1", priceColumn0, priceColumn20);
ColumnTitleGroupBuilder totalColumn10 = grid.titleGroup("Total Price 2", priceColumna0, priceColumn2a0);
ColumnTitleGroupBuilder totalColumn20 = grid.titleGroup("Total Price 3", priceColumnb0, priceColumn2b0);
// ColumnGridComponentBuilder a ;
// ListType type = ListType.HORIZONTAL;
// // DRColumnGrid columnGrid = new DRColumnGrid(ListType.HORIZONTAL);
//
// DRColumnGrid columnGrid = new DRColumnGrid(type);
// for (ColumnGridComponentBuilder component : components) {
// columnGrid.addComponent(component.build());
// }
ReportStyleBuilder sss333 = stl.style(Templates.columnStyle)
.setBorder(stl.pen1Point()).setBackgroundColor(Color.red);
// PageType.A4.getWidth()
net.sf.dynamicreports.report.constant.PageType a44 = net.sf.dynamicreports.report.constant.PageType.A4;
a44.setHeight(666);
a44.setWidth(19999);
report
.setPageFormat(PageType.A4, PageOrientation.LANDSCAPE)
.setTemplate(Templates.reportTemplate)
.setColumnStyle(columnStyle)
.setSubtotalStyle(subtotalStyle)
// grid.horizontalColumnGridList(
// quantityColumn, unitPriceColumn, totalColumn,totalColumn1,totalColumn2),
// grid.horizontalColumnGridList(
// quantityColumn11, unitPriceColumn0, totalColumn0,totalColumn10,totalColumn20))
//
.columnGrid(
quantityColumn, unitPriceColumn, totalColumn,totalColumn1,totalColumn2, totalColumn0,totalColumn10,totalColumn20)
// .columnGrid(ListType.HORIZONTAL, quantityColumn, unitPriceColumn, totalColumn,totalColumn1,totalColumn2, totalColumn,totalColumn1,totalColumn2)
// .columnGrid(ListType.HORIZONTAL, quantityColumn, unitPriceColumn, totalColumn,totalColumn1,totalColumn2)
// .columnGrid(
// quantityColumn11, unitPriceColumn, totalColumn,totalColumn1,totalColumn2)
.columns(
quantityColumn, unitPriceColumn,priceColumn, priceColumn2,priceColumna, priceColumn2a,priceColumnb, priceColumn2b,priceColumn0, priceColumn20,priceColumna0, priceColumn2a0,priceColumnb0, priceColumn2b0)
.summary(cmp.subreport(report5))
// .columnFooter(cmp.subreport(report5))
// .summary(cmp.subreport(report5))
.pageFooter(
Templates.footerComponent)
.setDataSource(createInvoice());
return report;
}
private class TotalPaymentExpression extends AbstractSimpleExpression<String> {
private static final long serialVersionUID = 1L;
@Override
public String evaluate(ReportParameters reportParameters) {
return null;
}
}
public static void main(String[] args) {
Invoicetest design = new Invoicetest();
try {
JasperReportBuilder report = design.build();
report.show();
} catch (DRException e) {
e.printStackTrace();
}
}
private List<Item> createInvoice() {
List<Item> items = new ArrayList<Item>();
items.add(createItem("Notebook", "1111111111111wwwwwwwwwwwwwwwwwww111", new BigDecimal(1000)));
items.add(createItem("DVD", "11111111111wwwwwwwwww11111", new BigDecimal(40)));
items.add(createItem("Book", "111111wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww1111111111", new BigDecimal(10)));
items.add(createItem("Phone", "1111www111111111111", new BigDecimal(200)));
for (int i = 0; i < 50;i++) {
items.add(createItem("Notebook", "1111111111111wwwwwwwwwwwwwwwwwww111", new BigDecimal(1000)));
items.add(createItem("DVD", "11111111111wwwwwwwwww11111", new BigDecimal(40)));
items.add(createItem("Book", "111111wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww1111111111", new BigDecimal(10)));
items.add(createItem("Phone", "1111www111111111111", new BigDecimal(200)));
}
return items;
}
private Item createItem(String description, String quantity, BigDecimal unitprice) {
Item item = new Item();
item.setDescription(description);
item.setQuantity(quantity);
item.setUnitprice(unitprice);
item.setDescription1("aaa");
item.setDescription2("bbb");
return item;
}
private List<Item> createInvoice1() {
List<Item> items = new ArrayList<Item>();
items.add(createItem1("Notebook", "1111111111111111", new BigDecimal(1000)));
items.add(createItem1("DVD", "1111111111111111", new BigDecimal(40)));
items.add(createItem1("Book", "1111111111111111", new BigDecimal(10)));
items.add(createItem1("Phone", "1111111111111111", new BigDecimal(200)));
return items;
}
private Item createItem1(String description, String quantity, BigDecimal unitprice) {
Item item = new Item();
item.setDescription(description);
item.setQuantity(quantity);
item.setUnitprice(unitprice);
item.setDescription1("aaa");
item.setDescription2("bbb");
return item;
}
}