To change a summary type

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.
  1. Call the getSummaryFieldController method to get the SummaryFieldController object.
    DataDefController dataDefController = rcd.getDataDefController(); 
    SummaryFieldController summaryFieldController = dataDefController.getSummaryFieldController();
  2. 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);
  3. Call the clone method to create a copy of the summary field.
    ISummaryField newSumField = (ISummaryField)oldSumField.clone(true);
  4. Call the setOperation method to change the summary type of the new field.
    newSumField.setOperation(SummaryOperation.maximum);
  5. 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