繁体   English   中英

[Telerik]报告集合中的报告元数据

[英]Report Metadata in a Collection of [Telerik] Reports

我的Web项目中有一组迅速增长的Telerik报告。 我的数据提供策略是,每个报表都有一个包含SQL查询的公司文本文件。 我处理复杂的过滤条件,例如长'x is in(y,z,a,b,c ....)'或'(((x = 1)and(x <y)))',重复了一百次,方法是在使用文本文件查询获取报表的数据表之前对文本文件查询进行文本替换。

所有报告都是从Telerik.Reporting.Report派生的类,这些类具有用作报告元数据的有限属性,例如报告的业务名称与报告的程序名称。 没有属性字段,例如报告类别,报告的SQL查询文件的名称,报告的可能的备用查看页面,将为报告禁用的常见过滤器参数的子集等。

我发现这里的第一个候选解决方案没有吸引力,即。 在文件,web.config或数据库表中创建和维护“报告设置”存储。 该存储区与实际报告分离,在其中工作或存储区需要频繁且烦人的上下文交换。

我更喜欢的想法是使用类似于“动态数据”元数据方案的方法,在该方案中,实体类上的属性将另一个类归为持有该实体的元数据的类。 我还可以扩展Telerik.Reporting.Report ,为我想附加到报表的属性添加一个字典,并从中导出所有报表。

如果您对我目前的想法提出任何批评或对其他选择提出建议,将不胜感激。

由于Telerik报表定义仅是纯C#/ VB类,因此您应该能够使用任何“标准” C#方法在报表中包含元数据。 在派生的报表类中,可以添加管理设置所需的任何字段或属性,或者可以通过在项目中扩展Report来尝试创建更“优雅”的解决方案。

当前版本的Telerik Reporting没有提供用于设置报表属性的本机元数据解决方案,但这是一个非常有趣的想法。 我已经要求Telerik Reporting团队考虑这个想法,因此他们应该尽快提供更多指导。

同时,我认为您计划的“报告基类”在正确的轨道上,这将使所有项目报告轻松设置必要的“设置”值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM