c# - 将 Grapecity Active Reports 从版本 9 升级到版本 14
问题描述
我已经成功地修改了我的应用程序以使用 Grapecity 活动报告 14,它只使用了 Grapecity 活动报告 9。现在我需要同时支持 9 和 14,因为我有 100 多个项目已经引用了 9。
当前的实现有一个通用报告项目有一个基类,该基类具有使用活动报告生成 pdf 和 excel 报告所需的方法 9 和一个具有复制活动报告代码的基类 14。我已参考此基础项目来创建任何使用 9 和 14 报告。
Below is an example to represent how my solution looks like
MyProjectSolution
BaseReportProject
BaseReport9.cs
BaseReport14.cs
ProjectReport1
Report.cs : BaseReport9.cs
ProjectReport2
Report.cs : BaseReport14.cs
我的困惑是,有没有更好的方法来做到这一点?当需要根据当前实现包含另一个活动报告版本时,我需要再添加一个基类。
有没有更好的方法来实现这种类型的要求?
我不确定这是否是一个有效的问题。如果是,任何建议将不胜感激
解决方案
更好的方法是拥有三个独立的项目:
- v9 报告的项目
- v14 报告的项目
- 可以调用项目#1 或#2 的项目
我们建议这样做的原因是,从 v9 到 v14 发生了重大变化,因此您可能会在同一个项目中遇到两个报告的冲突。
有关更改的更多信息,请参阅以下文档: https://www.grapecity.com/activereports/docs/v14/online/whats-new.html https://www.grapecity.com/activereports/docs /v14/online/break-changes.html?highlight=break%2C
如果您有任何其他问题,请随时联系我们的支持团队!
真挚地,
葡萄城支持团队
推荐阅读
- php - 如何在模型 Laravel 中返回多个自定义值
- flutter - 如何关闭文本字段中的键盘而不清除它?
- php - 使用 between 进行切换案例数据搜索的日期时间范围
- xquery - 无法在 XQuery MarkLogic 中编写 for 循环
- html - css margin-block-start, border-inline-end, xxx-(block|inline)-(start|end)
- c# - 发送电子邮件后如何通过 EWS 获取电子邮件 ConversationId
- matplotlib - 为什么使用循环时不考虑表的大小?
- html - 谷歌浏览器不在我的网站上显示照片
- r - 如何从组内最后一个非 NA 行中的列中选择值并将其添加到另一列以创建新列
- swift - 精灵套件;如何将物理体添加到 CGMutablePath/SKShapeNode(画线)?