Back to Devexpress

ReportExpressionEditorCustomizationService Class

xtrareports-devexpress-dot-xtrareports-dot-userdesigner-b52b333d.md

latest3.8 KB
Original Source

ReportExpressionEditorCustomizationService Class

Allows you to adjust the list of functions available in the Expression Editor.

Namespace : DevExpress.XtraReports.UserDesigner

Assembly : DevExpress.XtraReports.v25.2.Extensions.dll

NuGet Package : DevExpress.Win.Reporting

Declaration

csharp
public abstract class ReportExpressionEditorCustomizationService :
    IExpressionEditorCustomizationService
vb
Public MustInherit Class ReportExpressionEditorCustomizationService
    Implements IExpressionEditorCustomizationService

Remarks

The ReportExpressionEditorCustomizationService allows you to customize Expression Editor invoked for expressions in the calculated fields, and for custom expressions in the Filter Editor. For more information, review the following help topics:

To use the service, you should implement the ReportExpressionEditorCustomizationService descendant, override the BeforeRun and/or the BeforeFilterEditorRun methods, and add the service to the XRDesignMdiController instance.

The following code snippet removes the FormatString function from a list of functions displayed in the Expression Editor:

csharp
public partial class Form1 : DevExpress.XtraEditors.XtraForm {
    protected override void OnLoad(EventArgs e) {
        base.OnLoad(e);
        this.reportDesigner1.AddService(typeof(ReportExpressionEditorCustomizationService), 
        new MyReportExpressionEditorCustomizationService());       
    }
    public Form1() {
        InitializeComponent();
    }
    private void Form1_Load(object sender, EventArgs e) {
        XtraReport1 report = new XtraReport1();
        this.reportDesigner1.OpenReport(report);
    }
}

class MyReportExpressionEditorCustomizationService : ReportExpressionEditorCustomizationService {
        public override void BeforeRun(string expressionString, IExpressionEditorView expressionEditorView, ExpressionEditorContext expressionEditorContext) {            
            FunctionInfo formatStringFunc = expressionEditorContext.Functions.FirstOrDefault(x => x.Name == "FormatString");
            expressionEditorContext.Functions.Remove(formatStringFunc);
            base.BeforeRun(expressionString, expressionEditorView, expressionEditorContext);
        }
    }
}

Inheritance

Object ReportExpressionEditorCustomizationService

See Also

ReportExpressionEditorCustomizationService Members

DevExpress.XtraReports.UserDesigner Namespace