To change a summary type

Parent Previous Next

 

Report Application Server .NET SDK Developer Guide

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. Retrieve the SummaryFieldController object.

Visual Basic

Dim dataDefController As DataDefController = rcd.DataDefController
Dim summaryFieldController As SummaryFieldController = dataDefController.SummaryFieldController

C#

DataDefController dataDefController = rcd.DataDefController;
SummaryFieldController summaryFieldController = dataDefController.SummaryFieldController;

  1. Get the summary field.

This example finds the first summary field in the report.

Visual Basic

Dim sumFieldSet As Fields = dataDefController.DataDefinition.SummaryFields
Dim oldSumField As SummaryField = DirectCast(sumFieldSet(0), SummaryField)

C#

Fields sumFieldSet = dataDefController.DataDefinition.SummaryFields;
SummaryField oldSumField = (SummaryField)sumFieldSet[0];

  1. Call the Clone method to create a copy of the summary field.

Visual Basic

Dim newSumField As SummaryField = DirectCast(oldSumField.Clone(True), SummaryField)

C#

SummaryField newSumField = (SummaryField)oldSumField.Clone(true);

  1. Use the Operation property to change the summary type of the new field.

Visual Basic

newSumField.Operation = CrSummaryOperationEnum.crSummaryOperationMaximum

C#

newSumField.Operation = CrSummaryOperationEnum.crSummaryOperationMaximum;

  1. Call the ModifySummaryField method of the SummaryFieldController object to update the summary field.

Visual Basic

summaryFieldController.ModifySummaryField(oldSumField, newSumField)

C#

summaryFieldController.ModifySummaryField(oldSumField, newSumField);

To modify a summary field

The following example shows how to change a summary to show the maximum value.

Visual Basic

Private Sub ModifySummaryField(ByVal rcd As ISCDReportClientDocument)
 
 Dim dataDefController As DataDefController = rcd.DataDefController
 Dim summaryFieldController As SummaryFieldController = dataDefController.SummaryFieldController
 Dim sumFieldSet As Fields = dataDefController.DataDefinition.SummaryFields
 If sumFieldSet.Count > 0 Then
  Dim oldSumField As SummaryField = DirectCast(sumFieldSet(0), SummaryField)
  Dim newSumField As SummaryField = DirectCast(oldSumField.Clone(True), SummaryField)
  newSumField.Operation = CrSummaryOperationEnum.crSummaryOperationMaximum
  summaryFieldController.ModifySummaryField(oldSumField, newSumField)
 End If
End Sub

C#

private void ModifySummaryField(ISCDReportClientDocument rcd)
{
 DataDefController dataDefController = rcd.DataDefController;
 SummaryFieldController summaryFieldController = dataDefController.SummaryFieldController;
 Fields sumFieldSet = dataDefController.DataDefinition.SummaryFields;
 if (sumFieldSet.Count > 0)
 {
  SummaryField oldSumField = (SummaryField)sumFieldSet[0];
  SummaryField newSumField = (SummaryField)oldSumField.Clone(true);
  newSumField.Operation = CrSummaryOperationEnum.crSummaryOperationMaximum;
  summaryFieldController.ModifySummaryField(oldSumField, newSumField);
 }
}

This list includes the namespaces used by the sample code:

© 2021 SAP AG. All rights reserved.

http://www.sap.com/sapbusinessobjects/

Support services

http://service.sap.com/bosap-support/

Created with the Personal Edition of HelpNDoc: Easily create CHM Help documents