|
Report Application Server .NET SDK Developer Guide
|
|
To modify a parameter field
|
|
- Access the parameters in a report with theDataDefinition.ParameterFields property.
|
Visual Basic
|
|
|
Dim parameterFields As Fields = rcd.DataDefController.DataDefinition.ParameterFields Dim parameterField As ParameterField = DirectCast(parameterFields(0), ParameterField)
|
|
C#
|
|
|
Fields parameterFields = rcd.DataDefController.DataDefinition.ParameterFields; ParameterField parameterField = (ParameterField)parameterFields[0];
|
- Make a copy of the parameter.
|
Visual Basic
|
|
|
Dim newParameterField As New ParameterField() parameterField.CopyTo(newParameterField, True) newParameterField.CurrentValues.RemoveAll()
|
|
C#
|
|
|
ParameterField newParameterField = new ParameterField(); parameterField.CopyTo(newParameterField, true); newParameterField.CurrentValues.RemoveAll();
|
- Determine the type of parameter value then modify the parameter.
The following code modifies the parameter if it is discrete.
|
Visual Basic
|
|
|
Dim kind As CrParameterValueRangeKindEnum = newParameterField.ValueRangeKind If kind = CrParameterValueRangeKindEnum.crParameterValueRangeKindDiscrete Then Dim discreteValueText As String = "Modified Parameter Value" Dim discreteValue As New ParameterFieldDiscreteValue() discreteValue.Value = discreteValueText newParameterField.CurrentValues.Add(discreteValue) End If
|
|
C#
|
|
|
CrParameterValueRangeKindEnum kind = newParameterField.ValueRangeKind; if (kind == CrParameterValueRangeKindEnum.crParameterValueRangeKindDiscrete) { String discreteValueText = "Modified Parameter Value"; ParameterFieldDiscreteValue discreteValue = new ParameterFieldDiscreteValue(); discreteValue.Value = discreteValueText; newParameterField.CurrentValues.Add(discreteValue); }
|
- Use the ParameterFieldController.modify method to modify the original parameter field based on the changes you have made in the copy.
|
Visual Basic
|
|
|
Dim parameterFieldController As ParameterFieldController parameterFieldController = rcd.DataDefController.ParameterFieldController parameterFieldController.Modify(parameterField, newParameterField)
|
|
C#
|
|
|
ParameterFieldController parameterFieldController; parameterFieldController = rcd.DataDefController.ParameterFieldController; parameterFieldController.Modify(parameterField, newParameterField);
|
The following code gets the first parameter in the report and changes the default value of a discrete parameter:
|
Visual Basic
|
|
|
Private Sub ModifyParameterValue(ByVal rcd As ISCDReportClientDocument) Dim parameterFields As Fields = rcd.DataDefController.DataDefinition.ParameterFields Dim parameterField As ParameterField = DirectCast(parameterFields(0), ParameterField) Dim newParameterField As New ParameterField() parameterField.CopyTo(newParameterField, True) newParameterField.CurrentValues.RemoveAll() Dim kind As CrParameterValueRangeKindEnum = newParameterField.ValueRangeKind If kind = CrParameterValueRangeKindEnum.crParameterValueRangeKindDiscrete Then Dim discreteValueText As String = "Modified Parameter Value" Dim discreteValue As New ParameterFieldDiscreteValue() discreteValue.Value = discreteValueText newParameterField.CurrentValues.Add(discreteValue) End If Dim parameterFieldController As ParameterFieldController parameterFieldController = rcd.DataDefController.ParameterFieldController parameterFieldController.Modify(parameterField, newParameterField) End Sub
|
|
C#
|
|
|
private void ModifyParameterValue(ISCDReportClientDocument rcd) { Fields parameterFields = rcd.DataDefController.DataDefinition.ParameterFields; ParameterField parameterField = (ParameterField)parameterFields[0]; ParameterField newParameterField = new ParameterField(); parameterField.CopyTo(newParameterField, true); newParameterField.CurrentValues.RemoveAll(); CrParameterValueRangeKindEnum kind = newParameterField.ValueRangeKind; if (kind == CrParameterValueRangeKindEnum.crParameterValueRangeKindDiscrete) { String discreteValueText = "Modified Parameter Value"; ParameterFieldDiscreteValue discreteValue = new ParameterFieldDiscreteValue(); discreteValue.Value = discreteValueText; newParameterField.CurrentValues.Add(discreteValue); } ParameterFieldController parameterFieldController; parameterFieldController = rcd.DataDefController.ParameterFieldController; parameterFieldController.Modify(parameterField, newParameterField); }
|
This list includes the namespaces used by the sample code:
- CrystalDecisions.Enterprise
- CrystalDecisions.ReportAppServer.ClientDoc
- CrystalDecisions.ReportAppServer.DataDefModel
- CrystalDecisions.ReportAppServer.Controllers
© 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: Full-featured Documentation generator