|
Report Application Server .NET SDK Developer Guide
|
|
Modifying an existing filter formula
|
|
See Also
|
Existing filter formulas in a report can be modified two ways:
- Use the SetFormulaText method of the CrystalDecisions.ReportAppServer.Controllers.FilterController class.
|
Visual Basic
|
|
|
Private Sub ModifyFilterUsingSetText(ByVal rcd As ISCDReportClientDocument) Dim dataDefController As DataDefController = rcd.DataDefController Dim recordFilterController As FilterController = dataDefController.RecordFilterController recordFilterController.SetFormulaText("{Customer.Last_Years_Sales} > 200000") End Sub
|
|
C#
|
|
|
private void ModifyFilterUsingSetText(ISCDReportClientDocument rcd) { DataDefController dataDefController = rcd.DataDefController; FilterController recordFilterController = dataDefController.RecordFilterController; recordFilterController.SetFormulaText("{Customer.Last_Years_Sales} > 200000"); }
|
This method completely replaces the existing filter formula with the new string.
- Clone the existing filter and modify the formula using the RecordFilterController object.
|
Visual Basic
|
|
|
Private Sub ModifyFilterUsingFilterItems(ByVal rcd As ISCDReportClientDocument) Dim dataDefController As DataDefController = rcd.DataDefController Dim recordFilterController As FilterController = dataDefController.RecordFilterController Dim oldRecordFilter As Filter = rcd.DataDefController.DataDefinition.RecordFilter Dim newRecordFilter As Filter = oldRecordFilter.Clone(True) newRecordFilter.FreeEditingText = "{Customer.Last_Years_Sales} > 200000" recordFilterController.Modify(newRecordFilter) End Sub
|
|
C#
|
|
|
private void ModifyFilterUsingFilterItems(ISCDReportClientDocument rcd) { DataDefController dataDefController = rcd.DataDefController; FilterController recordFilterController = dataDefController.RecordFilterController; Filter oldRecordFilter = rcd.DataDefController.DataDefinition.RecordFilter; Filter newRecordFilter = oldRecordFilter.Clone(true); newRecordFilter.FreeEditingText = "{Customer.Last_Years_Sales} > 200000"; recordFilterController.Modify(newRecordFilter); }
|
This method allows you to select and change the fields, values, and operators of the existing formula.
|
Note
|
|
When the report is programmatically opened as a ReportClientDocument object, the formula is parsed into a FilterItems collection. However, if the formula is too complex to be parsed, the FilterItems collection remains empty and the string representation of the formula can be retrieved and set using the FreeEditingText property of the Filter class instead.
|
This list includes the namespaces used by the sample code:
- CrystalDecisions.Enterprise
- CrystalDecisions.ReportAppServer.ClientDoc
- CrystalDecisions.ReportAppServer.Controllers
- CrystalDecisions.ReportAppServer.DataDefModel
See Also
© 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 HTML Help documents