reportDesignHandle.getMasterPages().add(simpleMasterPage);
}
private void createBody() throws SemanticException {
TableHandle table = elementFactory.newTableItem(null, 3, 1, 1, 1);
table.setProperty(IStyleModel.TEXT_ALIGN_PROP,
DesignChoiceConstants.TEXT_ALIGN_CENTER);
table.setWidth("80%");//$NON-NLS-1$
table.setProperty(IReportItemModel.DATA_SET_PROP, "ds");//$NON-NLS-1$
ColumnHandle ch = (ColumnHandle) table.getColumns().get(0);
// ch.setProperty("Width", "3in");
ch.getWidth().setStringValue("3in");
PropertyHandle computedSet = table.getColumnBindings();
cs1 = StructureFactory.createComputedColumn();
cs2 = StructureFactory.createComputedColumn();
cs3 = StructureFactory.createComputedColumn();
cs4 = StructureFactory.createComputedColumn();
cs5 = StructureFactory.createComputedColumn();
cs6 = StructureFactory.createComputedColumn();
cs1.setName("ORDERNUMBER");
cs1.setExpression("dataSetRow[\"ORDERNUMBER\"]");
cs1.setDataType("Integer");
computedSet.addItem(cs1);
cs2.setName("Product");
cs2.setExpression("dataSetRow[\"PRODUCTCODE\"]");
cs2.setDataType("String");
computedSet.addItem(cs2);
cs3.setName("Amount");
cs3.setExpression("dataSetRow[\"QUANTITYORDERED\"]");
cs3.setDataType("Integer");
computedSet.addItem(cs3);
cs4.setName("TotalAmount");
cs4.setExpression("dataSetRow[\"QUANTITYORDERED\"]");
cs4.setDataType("Integer");
cs4.setAggregateFunction("SUM");
computedSet.addItem(cs4);
cs5.setName("GroupTotalAmount");
cs5.setExpression("dataSetRow[\"QUANTITYORDERED\"]");
cs5.setDataType("Integer");
cs5.setAggregateOn("MyGroup");
cs5.setAggregateFunction("SUM");
computedSet.addItem(cs5);
// Header
RowHandle header = (RowHandle) table.getHeader().get(0);
CellHandle tcell = (CellHandle) header.getCells().get(0);
tcell.getWidth().setStringValue("3in");
LabelHandle label = elementFactory.newLabel(null);
label.setText("Order");//$NON-NLS-1$
tcell.getContent().add(label);
tcell = (CellHandle) header.getCells().get(1);
label = elementFactory.newLabel(null);
label.setText("Product");//$NON-NLS-1$
tcell.getContent().add(label);
tcell = (CellHandle) header.getCells().get(2);
label = elementFactory.newLabel(null);
label.setText("Amount");//$NON-NLS-1$
tcell.getContent().add(label);
// Table Group
TableGroupHandle group = elementFactory.newTableGroup();
group.setName("MyGroup");
group.setKeyExpr("dataSetRow[\"ORDERNUMBER\"]");
group.setInterval("none");
group.setSortDirection("asc");
table.getGroups().add(group);
RowHandle groupHeader = elementFactory.newTableRow(3);
tcell = (CellHandle) groupHeader.getCells().get(0);
DataItemHandle data = elementFactory.newDataItem(null);
data.setResultSetColumn(cs1.getName());
tcell.getContent().add(data);
group.getHeader().add(groupHeader);
RowHandle groupFooter = elementFactory.newTableRow(3);
tcell = (CellHandle) groupFooter.getCells().get(2);
data = elementFactory.newDataItem(null);
data.setResultSetColumn(cs5.getName());
tcell.getContent().add(data);
group.getFooter().add(groupFooter);
RowHandle detail = (RowHandle) table.getDetail().get(0);
data = elementFactory.newDataItem(null);
tcell = (CellHandle) detail.getCells().get(1);
data = elementFactory.newDataItem(null);
data.setResultSetColumn(cs2.getName());
tcell.getContent().add(data);
tcell = (CellHandle) detail.getCells().get(2);
data = elementFactory.newDataItem(null);
data.setResultSetColumn(cs3.getName());
tcell.getContent().add(data);
RowHandle footer = (RowHandle) table.getFooter().get(0);
tcell = (CellHandle) footer.getCells().get(2);
data = elementFactory.newDataItem(null);
data.setResultSetColumn(cs4.getName());
tcell.getContent().add(data);