This example assumes that the report you are
working with contains a summary field.
You can change the type of summary operation that
is performed.
Call the
getSummaryFieldController
method to get the
SummaryFieldController object.
DataDefController dataDefController = rcd.getDataDefController();
SummaryFieldController summaryFieldController = dataDefController.getSummaryFieldController();
Get the summary field.
This example finds the first summary field in
the report.
SummaryFields<ISummaryField> sumFieldSet = dataDefController.getDataDefinition().getSummaryFields();
ISummaryField oldSumField = sumFieldSet.get(0);
Call the
clone method
to create a copy of the summary field.
ISummaryField newSumField = (ISummaryField)oldSumField.clone(true);
Call the
setOperation
method to change the summary type of the new field.
newSumField.setOperation(SummaryOperation.maximum);
Call the
modifySummaryField method of
the
SummaryFieldController object
to update the summary field.
summaryFieldController.modifySummaryField(oldSumField, newSumField);
Example: To modify a summary field
The following example shows how to change a summary
to show the maximum value.
public void modifySummaryType(ReportClientDocument rcd) throws ReportSDKException
{
DataDefController dataDefController = rcd.getDataDefController();
SummaryFieldController summaryFieldController = dataDefController.getSummaryFieldController();
SummaryFields<ISummaryField> sumFieldSet = dataDefController.getDataDefinition().getSummaryFields();
if (sumFieldSet.size() > 0)
{
ISummaryField oldSumField = sumFieldSet.get(0);
ISummaryField newSumField = (ISummaryField)oldSumField.clone(true);
newSumField.setOperation(SummaryOperation.maximum);
summaryFieldController.modifySummaryField(oldSumField, newSumField);
}
}This list includes the classes used by the sample
code:
com.crystaldecisions.sdk.occa.report.application.DataDefController
com.crystaldecisions.sdk.occa.report.application.ReportClientDocument
com.crystaldecisions.sdk.occa.report.application.SummaryFieldController
com.crystaldecisions.sdk.occa.report.data.ISummaryField
com.crystaldecisions.sdk.occa.report.data.SummaryField
com.crystaldecisions.sdk.occa.report.data.SummaryFields
com.crystaldecisions.sdk.occa.report.data.SummaryOperation
com.crystaldecisions.sdk.occa.report.lib.ReportSDKException