我有一个快速赞成的问题要问你。我以前从未在 c# 中做过任何报告,因此我正在寻找 Microsoft 报告技术与 Crystal 报告之间的比较。两者之间有什么大的区别吗?一个人做某事是否比另一个人做得特别好?
在我开始研究报告之前,我想弄清楚我想使用哪一个。
我有一个快速赞成的问题要问你。我以前从未在 c# 中做过任何报告,因此我正在寻找 Microsoft 报告技术与 Crystal 报告之间的比较。两者之间有什么大的区别吗?一个人做某事是否比另一个人做得特别好?
在我开始研究报告之前,我想弄清楚我想使用哪一个。
我发现报告是一种必要的邪恶,我更愿意通过工作流程管理分析,即报告。因此,如果我的回答似乎是否定的,那么报告的内容比工具本身还多。我只使用了 CR,所以我无法与 MS 报告对话。
CR 的设计理念与他们的设计时间不同,所以 UI 起初感觉有点尴尬。有点像在马路对面开车。你知道你在做什么,但感觉不舒服。
我总是通过将数据推送到我的 CR 报告中,datatables
而不是将报告直接连接到数据库。这是我唯一能以自动化方式使报告“可测试”的方法。这也将报告与数据库/源分开,从而更容易从本地开发转移到暂存,再到生产。
您可以将对象和集合传递给报表(IEnumerable),但对的支持datatables
更好。例如。如果集合为空,CR 将抛出异常。但如果数据表为空,CR 将呈现没有数据的报表。
with dataset
CR 的表现很糟糕。我总是将我的对象图展平为表格数据,然后将数据传递给报告。否则它会永远渲染。
在 VS 2010 CR for .Net 之前作为 VS 的一部分发布,这使得升级和迁移相当直接。升级从来都不是简单的,但至少 .net 和 CR 是一起发布的。从 VS 2010 开始,CR 现在处于其自己的发布周期,这意味着无法保证您何时升级到 VS 的下一个版本并且仍然与 CR 兼容。
根据我的经验,Microsoft 报告在自定义设计报告中并没有那么强大。我们使用 Crystal 报表已有 4 年了。尽管我们遇到了一些关于重载和未处理异常的可忽略问题,但我还是建议您使用它。
等等。