【发布时间】:2013-04-03 14:32:43
【问题描述】:
我的 CrystalReportViewer 不会在我的 Crystal Report 中显示图表。我得到一个红色的 X。 我正在使用 C# 和 MVC。我在某处读到我可能需要图像文件夹的虚拟路径,但我不确定这意味着什么,因为我的图表嵌入在报告中......也许我遗漏了一些东西。谁能详细说明一下?
【问题讨论】:
标签: crystal-reports
我的 CrystalReportViewer 不会在我的 Crystal Report 中显示图表。我得到一个红色的 X。 我正在使用 C# 和 MVC。我在某处读到我可能需要图像文件夹的虚拟路径,但我不确定这意味着什么,因为我的图表嵌入在报告中......也许我遗漏了一些东西。谁能详细说明一下?
【问题讨论】:
标签: crystal-reports
好的。我想通了......就像我说的那样,MVC 正在处理路由,而不是让 CrystalImageHandler 处理它。所以这里是使 MVC 和 Crystal ReportViewer 显示图像工作的步骤。
阅读 this link 并按照 web.config 说明进行操作。确保所有程序集都指向版本 12。您实际上需要安装 Crystal Runtime 和/或 Crystal 以获得最新的程序集版本。
将此行添加到您的global.asax 文件以忽略 CrystalImageHandler 的路由:
routes.IgnoreRoute("{*allaspx}", new { allaspx = @".*(CrystalImageHandler).*" });
【讨论】:
嵌入图表/图形的水晶报表也有类似的问题。使用MVC3框架和水晶报表运行时v10
将以下行添加到 Web.config
<appSettings>
<!-- For Crystal reports to render dynamic images (eg. charts, graphs)-->
<add key="CrystalImageCleaner-AutoStart" value="true" />
<add key="CrystalImageCleaner-Sleep" value="60000" />
<add key="CrystalImageCleaner-Age" value="120000" />
</appSettings>
<system.web>
<httpHandlers>
<add verb="GET" path="CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
</httpHandlers>
</system.web>
在 Globalasax 的 RegisterRoutes 方法中添加这个
/*Added for Crystal reports*/
routes.IgnoreRoute("{*allaspx}", new { allaspx = @".*(CrystalImageHandler).*" });
【讨论】:
将pg32conv.dll 和sscsdk80.dll 复制到Windows\System32。
【讨论】:
我在用图表(图形表示)创建水晶报告时也面临同样的问题,我无法获得图表的图像 我在 web.config 文件中添加了一些代码
在<appSettings></appSettings> 标签下方
我们有一个像
<httpHandlers> </httpHandlers>
检查我们在上面的 taghttphandlers 之间有代码,
<add verb="GET" path="CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
如果它在那里,那么我们肯定会得到图表或条形图的图像 如果它不存在,请添加上面的代码 k
我希望这对所有人都有用 谢谢。
【讨论】: