DevExpress BI 商业智能仪表板 v24.1
级联参数
Web 仪表板增强功能
数据源
级联参数
您现在可以设置级联参数来筛选数据源或仪表板中的项目。当您更改父参数的值时,依赖参数的值列表现在会自动刷新。使用两个参数时,父参数用于通过动态列表设置筛选依赖参数的数据源。下图说明了级联参数,其中产品参数值按所选类别进行筛选:
Web 仪表板增强功能
#缓存管理 API
此次更新允许您定制我们内置的 BI 仪表板缓存引擎。客户遇到了几种需要禁用我们内置缓存的情况,这促使我们引入了以下 API。
现在,您可以使用Web 表单的ASPxDashboard.DataSourceCacheEnabled属性(或其他 Web 平台的DashboardConfigurator.DataSourceCacheEnabled属性)完全禁用缓存。这会强制 DevExpress 仪表板在用户访问和查看仪表板时加载最相关的数据。
默认情况下,每当仪表板参数值发生变化时,都会创建一个新的数据源实例并将其存储在缓存中。这会影响内存使用情况,尤其是当参数不影响数据源过滤时。因此,我们添加了ASPxDashboard.DataSourceCacheKeyCreated / DashboardConfigurator.DataSourceCacheKeyCreated事件,以防止根据参数值/可用事件参数创建新的缓存记录。例如,考虑以下内容:
C#
DashboardConfigurator.Default.DataSourceCacheKeyCreated += (s, e) => {
if(e.Key.DashboardId == "MyDashboard")
e.Key.Parameters.Clear();
};在这种情况下,更改参数值会更新仪表板项目数据,同时重新使用缓存中的现有数据源而无需额外的填充请求。
此外,当与仪表板发生任何交互时,您可以利用此事件来更新特定数据源:
C#
DashboardConfigurator.Default.DataSourceCacheKeyCreated += (s, e) => {
if(e.Key.DataSourceId == "dsSales")
e.InvalidateCacheRecord();
};另一个用例是通过将用户组或用户本身包含在缓存键中来增加缓存键的粒度。您可以利用新的IDataSourceCacheKey.CustomData属性来实现此目的。此策略的主要优点是密钥仅用于从缓存中创建/检索记录,并且永远不会在客户端公开,从而保持了实现的安全性:
C#
DashboardConfigurator.Default.DataSourceCacheKeyCreated += (s, e) => {
e.Key.CustomData.Add("UserId", CurrentUser.UserId);
};
#辅助功能——键盘导航
组和仪表板项目完全支持键盘导航。用户可以使用 Tab、箭头和特殊键在用户界面元素之间移动。
数据源
#SqlDataSource 向导 — 信任级别证书和加密选项
请注意,下面描述的更改已在我们当前主要版本的最新更新中可用:v23.2.5。
在将报告绑定到 MS SQL Server 实例时, 我们增强了数据源向导 中的用户体验。数据源连接屏幕现在具有屏幕截图上标记的两个新选项:

如果您无法以不同方式设置 MS SQL Server, 这些新选项/更改可让您在将报告绑定到 MS SQL Server 数据库时避免出现“证书链由不受信任的机构颁发”错误。在以下 Microsoft 主题中了解有关此错误及其原因的更多信息:证书链由不受信任的机构颁发 - SQL Server(Microsoft Learn)。
文档中的新 API 成员| BI 仪表板 — 教程
#SqlDataSource — Postgres 数据驱动程序 v7.0 支持
最初,我们希望引入Postgres 存储过程支持,但发现它们主要用于更新和删除数据库操作(SqlDataSource组件以只读模式运行)。
相反,我们修改了 Postgres 数据库连接,现在允许您在使用最新的 v7.0 数据库驱动程序时 将 DevExpress 报告和 BI 仪表板绑定到Postgres 函数。
#JsonDataSource — System.Text.Json NuGet 包的使用
使用 v24.1,DevExpress Reports 和 BI Dashboard 将利用assembly/NuGet 包中的功能(默认情况下)。此更改受到安全考虑和 Microsoft 内置库提供的改进性能的影响。此包是 .NET 的一部分,此更改仅适用于 .NET 产品线;基于 .NET Framework 的产品保持不变,并将继续使用包中的功能。 System.Text.JsonNewtonsoft.Json
如果由于任何原因,您无法在基于 .NET 的应用程序中利用 System.Text.Json 功能,则可以将* 属性设置为并继续使用 Newtonsoft.Json 库。 DevExpress.DataAccess.Native.Json.JsonLoaderHelper.JsonProcessingLibraryNewtonsoftJson
*注意:我们提供此属性是为了向后兼容。一旦迁移完成,它将从未来版本的源代码中删除。
我们还鼓励您相应地更新您的应用程序。
重大变更描述:使用 System.Text.Json 来处理 JsonDataSource(DashboardJsonDataSource)组件,而不是 Newtonsoft.Json 库

渝公网安备50010702505508