界面组件DevExpress Reporting v23.1亮点 - 全新升级报表查看器

发布时间 2023-11-16 10:07:33作者: AABBbaby

DevExpress Reporting是.NET Framework下功能完善的报表平台,它附带了易于使用的Visual Studio报表设计器和丰富的报表控件集,包括数据透视表、图表,因此您可以构建无与伦比、信息清晰的报表

界面组件DevExpress Reporting v23.1已经发布一段时间了,新版本在报表查看器中拥有新的缩放选项、发布新的内容安全策略等,欢迎 下载最新版体验~

DevExpress技术交流群9:909157416      欢迎一起进群讨论

Reporting for ASP.NET Core
内容安全策略 - 禁止内联样式和脚本

新版本改进了对ASP.NET Core应用程序中Web报表组件的内容安全策略支持:您现在可以实现一个基于nonce的CSP,这将允许从DevExpress Web Document Viewer(文档查看器)和Web Report Designer(报表设计器)的网页中删除style-src和script-src指令的不安全内联关键字。

EFDataSource - ASP.NET Core依赖注入中的DbContext

使用新的API从绑定到EFDataSource报表的ASP.NET Core服务器中解析适当的Entity Framework Core上下文。

在依赖注入容器中注册上下文,调用“Startup”类的ConfigureServices方法中的AddDbContext方法来指定所需的连接字符串。

C#

builder.Services.AddDbContext<OrdersContext>(options => options.UseSqlite("MyConnectionString"), ServiceLifetime.Transient);

实现IEFContextProviderFactoryIEFContextProvider接口。

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<CustomEFContextProviderFactory>();
});
});
Reporting for Blazor
Blazor Report Viewer — 全新的缩放选项

新的缩放选项包括:

  • 页面宽度 - 缩放页面来适应页面宽度。
  • 整个页面 - 缩放页面来显示整个页面。
DevExpress Reporting v23.1新版图集

新版本改变了默认的缩放级别,现在是整页。

Blazor Report Viewer - 支持WebAssembly、提前 (AOT)编译和.NET MAUI Blazor

新版本中原生的Blazor Report Viewer组件支持Blazor WebAssembly (WASM)托管模型和提前(AOT)编译,您现在可以在浏览器中预览、打印和导出报表(不需要ASP. NET Core后端)。

我们还用WebAssembly Reporting Application选项扩展了项目模版。

DevExpress Reporting v23.1新版图集

您可以在.NET MAUI应用程序中利用原生Blazor Report Viewer组件的功能,方法是在BlazorWebView中托管该组件。

Reporting for .NET MAUI

您可以在iOS和Android的.NET MAUI应用程序中使用DevExpress Reporting工具(生成和导出报表)。

DevExpress Reporting v23.1新版图集

更多DevExpress线上公开课、中文教程资讯请上中文网获取