VisualStudio报表查看器在Chrome中不能渲染报表正文

7
我知道Chrome不支持报表查看器,http://msdn.microsoft.com/en-us/library/ms156511.aspx
很遗憾,这里的解决方案对我无效,ReportViewer problem in google chrome
在我们的情况下,报表正文是空白的。我找到了一些关于报表高度问题和工具栏失真问题的解决方案,但在我的情况下,我还没有达到那个阶段。
当我在Chrome中导航到报表管理器时,我可以看到我的报表[它们并不完美,但至少显示了报表正文]。
http://localhost/Reports_SQLSERVER2008/Pages/Report.aspx? [clipped]

我有两个问题与这个问题有关,希望有人能够为它们提供一些解释:
  1. 为什么报告管理器中的报告查看器可以在Chrome中呈现报告正文,而VS 2010报告查看器控件却不能呢?(这让我相信查看器可以在Chrome中呈现,因此可能是我可以改变的一些东西)。
  2. 是否可能扩展报告查看器,至少在Chrome中呈现正文?

所有其他浏览器都没有问题。 这是一个使用SQL Server 2008上的VS 2010版本报告查看器的ASP.Net 4.0 Web表单应用程序[不久将移动到2008 R2]。

我也到了这个阶段,可能情况是无法证明解决这个问题所需的工作是合理的。 我预计可能会出现其他问题,例如参数选择等。 我想听听你的想法。

提前致谢,

Rgds,

Liam

3个回答

11

这是我们使用的修复方法,但它只适用于我们的实现。

我们将ReportViewer包装在用户控件中,并且在我们的Asp.Net应用程序中两个地方使用了这个报表查看器用户控件:

  1. 基本的报表页面上
  2. Web部件[仪表板]页面上。每个Web部件都包含一个报表查看器用户控件。

在Report Viewer用户控件的标记中,我们将报表查看器的高度设置为一个大号像素值,例如1200px。报表主体在报表页面和仪表板页面的Chrome中呈现出来。

由于报表页面一次只显示1个报表,高度设置不是问题。

在仪表板中,我们已经公开了包含报表路径的Web部件的个性化属性,使我们可以加载任何需要的报表。 我们还公开了一个新属性,在个性化框架中存储报表高度,这反过来根据用户需求设置报表查看器的高度。

Liam


2
谢谢 - 我很感激你回来并回答了自己的问题。 :) - Colin Mackay

7

我遇到了同样的问题:只有工具栏可见,主体内容为空白。通过浏览器开发者工具,我发现如果在包含报表查看器的 div 上设置高度为 1000px,内容就会变得可见。

后来,我找到了一个叫做 SizeToReportContent 的属性,将其设置为 True 可以使内容正确渲染。

这个属性可用于 Microsoft.ReportViewer.WebForms 中的 ReportViewer 控件,版本为 10.0.0.0。我正在使用本地报表。


可以用!告诉你它已经有了asyncrendering =“False”,就像Andrew说的那样。在解决chrome控制台中的错误之前,MicrosoftAjax.js脚本中出现了一个错误,文本为“无法读取未定义的属性'constructor'”。 - user1011138

1
我遇到的解决方法是将asyncrendering设置为“False”。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接