on 04-01-2009 11:59 AM
Hi,
I am using the following method to add pie chart to a report. the result i get is multiple pie instead of one pie, although the chart expert shows the proper input. The same code works fine for bar chart.
public static void AddChartDetail(ReportClientDocument clientDoc, String chartTitle, String gt) throws Exception
{
ChartDefinition chartDefinition = new ChartDefinition();
chartDefinition.setChartType(ChartType.detail);
IDataDefinition dataDefinition = clientDoc.getDataDefController().getDataDefinition();
Fields conditionFields = new Fields();
IField field = null;//dataDefinition.getGroups().getGroup(0).getConditionField();
field = clientDoc.getDatabaseController().getDatabase().getTables().findTableByAlias("MyTableName").getDataFields().findField("My Column Name", FieldDisplayNameType.fieldName, Locale.US);
conditionFields.addElement(field);
chartDefinition.setConditionFields(conditionFields);
SummaryField summaryField1 = new SummaryField();
summaryField1.setName("Hello");
summaryField1.setOperation(SummaryOperation.count);
summaryField1.setSummarizedField(clientDoc.getDatabaseController().getDatabase().getTables().findTableByAlias("My Another Table").getDataFields().findField("My Another Column", FieldDisplayNameType.fieldName, Locale.US));
Fields dataFields = new Fields();
dataFields.add(summaryField1);
/*
for (int i = 0; i < dataDefinition.getSummaryFields().size(); i++)
{
IField summaryField = dataDefinition.getSummaryFields().getField(i);
dataFields.addElement(summaryField);
System.out.println("Setting data field");
}
*/
chartDefinition.setDataFields(dataFields);
//chartDefinition.setGroups(arg0)
ChartObject chartObject = new ChartObject();
chartObject.setChartDefinition(chartDefinition);
ChartStyleType chartStyleType = ChartStyleType.bar;
if(gt != null && gt.equals("pie"))
chartStyleType = ChartStyleType.pie;
else if(gt != null && gt.equals("bar"))
chartStyleType = ChartStyleType.bar;
AreaSectionKind chartPlacement = AreaSectionKind.pageHeader;
chartObject.getChartStyle().setType(chartStyleType);
chartObject.setChartReportArea(chartPlacement);
chartObject.getChartStyle().getTextOptions().setTitle(chartTitle);
chartObject.setHeight(5000);
chartObject.setWidth(5000);
chartObject.setTop(1000);
IArea reportHeaderArea = clientDoc.getReportDefController().getReportDefinition().getReportHeaderArea();
Section chartSection =(Section)reportHeaderArea.getSections().getSection(0);
clientDoc.getReportDefController().getReportObjectController().add(chartObject, chartSection, 1);
}
Please re-post if this is still an issue to the Java Development - Crystal Reports Forum or purchase a case and have a dedicated support engineer work with you directly
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
95 | |
11 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.