DevExpress Reporting是.NET Framework下功能完善的报表平台,它附带了易于使用的Visual Studio报表设计器和丰富的报表控件集,包括数据透视表、图表,因此您可以构建无与伦比、信息清晰的报表
界面组件DevExpress Reporting v23.1已经发布一段时间了,新版本在报表查看器中拥有新的缩放选项、发布新的内容安全策略等,欢迎 下载最新版体验~
DevExpress Reporting v23.1正式版下载(Q技术交流:909157416)
新版本改进了对ASP.NET Core应用程序中Web报表组件的内容安全策略支持:您现在可以实现一个基于nonce的CSP,这将允许从DevExpress Web Document Viewer(文档查看器)和Web Report Designer(报表设计器)的网页中删除style-src和script-src指令的不安全内联关键字。
使用新的API从绑定到EFDataSource报表的ASP.NET Core服务器中解析适当的Entity Framework Core上下文。
在依赖注入容器中注册上下文,调用“Startup”类的ConfigureServices方法中的AddDbContext方法来指定所需的连接字符串。
C#
builder.Services.AddDbContext(options => options.UseSqlite("MyConnectionString"), ServiceLifetime.Transient);
实现IEFContextProviderFactory和IEFContextProvider接口。
C#
- using DevExpress.Data.Entity;
- using DevExpress.DataAccess.Web;
- using System;
- using Microsoft.Extensions.DependencyInjection;
- // ...
- public class CustomEFContextProviderFactory : IEFContextProviderFactory {
- private readonly IServiceProvider serviceProvider;
-
- public CustomEFContextProviderFactory(IServiceProvider serviceProvider) {
- this.serviceProvider = serviceProvider;
- }
-
- public IEFContextProvider Create() {
- return new CustomEFContextProvider(serviceProvider.CreateScope());
- }
- }
-
- public class CustomEFContextProvider : IEFContextProvider, IDisposable {
- private readonly IServiceScope scope;
- public CustomEFContextProvider(IServiceScope scope) {
- this.scope = scope;
- }
-
- public object GetContext(string connectionName, Type contextType) {
- if(connectionName == "efCoreConnection")
- return scope.ServiceProvider.GetService(contextType);
- return null;
- }
-
- public void Dispose() {
- scope.Dispose();
- }
- }
使用"Startup"类的ConfigureServices()方法来注册factory实现。
C#
- services.ConfigureReportingServices(configurator => {
- configurator.ConfigureWebDocumentViewer(viewerConfigurator => {
- viewerConfigurator.RegisterEFContextProviderFactory
(); - });
- });
新的缩放选项包括:

新版本改变了默认的缩放级别,现在是整页。
新版本中原生的Blazor Report Viewer组件支持Blazor WebAssembly (WASM)托管模型和提前(AOT)编译,您现在可以在浏览器中预览、打印和导出报表(不需要ASP. NET Core后端)。
我们还用WebAssembly Reporting Application选项扩展了项目模版。

您可以在.NET MAUI应用程序中利用原生Blazor Report Viewer组件的功能,方法是在BlazorWebView中托管该组件。
您可以在iOS和Android的.NET MAUI应用程序中使用DevExpress Reporting工具(生成和导出报表)。
