Skip to main content
All docs
V24.2
.NET 8.0+

DevExpress v24.2 Update — Your Feedback Matters

Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

Take the survey Not interested

ReportDataSourceHelperBase.CustomSetupReportDataSource Event

Occurs when the report data source is initialized.

Namespace: DevExpress.ExpressApp.ReportsV2.Services

Assembly: DevExpress.ExpressApp.ReportsV2.v24.2.dll

#Declaration

public event EventHandler<CustomSetupReportDataSourceEventArgs> CustomSetupReportDataSource

#Event Data

The CustomSetupReportDataSource event's data class is DevExpress.ExpressApp.ReportsV2.CustomSetupReportDataSourceEventArgs.

#Remarks

Handle this event to apply criteria and sorting manually. In the handler, you can use the IReportDataSourceHelper.GetMasterReportDataSource method to access the data source.

You can also use this event to use a custom Data Source component (inherited from DataSourceBase).

The code snippets below demonstrate how to subscribe to this event:

#In Application Builder Code

In the application’s Startup.cs file, add the OnCustomSetupReportDataSource event handler to the builder.Modules.AddReports method call as shown below:

File: MySolution.Blazor.Server/Startup.cs, MySolution.Win/Startup.cs, MySolution.WebApi/Startup.cs

using DevExpress.ExpressApp.ApplicationBuilder;
// ...
builder.Modules
    .AddReports(options => {
        // ...
        options.Events.OnCustomSetupReportDataSource = context => {
            context.Report.DataSource = new CustomDataSource();
        };
    })
// ...

#Through Dependency Injection

Note

The technique shown in this section is not supported for Web API Service.

Use Dependency Injection to access the IReportDataSourceHelper service and add a handler to its CustomSetupReportDataSource event.

using DevExpress.ExpressApp.ReportsV2;
using Microsoft.Extensions.DependencyInjection;
// ...
// Use Dependency Injection to access the IServiceProvider.
var helper = serviceProvider.GetRequiredService<IReportDataSourceHelper>();
helper.CustomSetupReportDataSource += delegate (object sender, CustomSetupReportDataSourceEventArgs e) {
    e.Report.DataSource = new CustomDataSource();
};
See Also