Reporting services v14.0 Web报表查看器控件不显示报表正文
我希望有人能了解我的经历 多年来,我一直在使用各种版本的报表查看器控件(WinForms和Web),并且刚刚开始尝试在ASP.NETWedForms项目中使用基于HTML5的最新版本 我的环境如下: 配备Windows 7和SQL Server 2014(包括SSR)的开发人员笔记本电脑。 具有2008R2、2014和2016报告服务的各种远程服务器 我遵循了Microsoft文档中的本教程页面: ,并设置了指向远程服务器报告的页面 代码隐藏:Reporting services v14.0 Web报表查看器控件不显示报表正文,reporting-services,ssrs-2016,report-viewer2016,Reporting Services,Ssrs 2016,Report Viewer2016,我希望有人能了解我的经历 多年来,我一直在使用各种版本的报表查看器控件(WinForms和Web),并且刚刚开始尝试在ASP.NETWedForms项目中使用基于HTML5的最新版本 我的环境如下: 配备Windows 7和SQL Server 2014(包括SSR)的开发人员笔记本电脑。 具有2008R2、2014和2016报告服务的各种远程服务器 我遵循了Microsoft文档中的本教程页面: ,并设置了指向远程服务器报告的页面 代码隐藏: protected void Page_Init(
protected void Page_Init(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
rv14.ProcessingMode = ProcessingMode.Remote;
ServerReport serverReport = rv14.ServerReport;
// A 2016 Report
serverReport.ReportServerUrl = new Uri("http://2016server/reportserver");
serverReport.ReportPath = "/Sports";
// A 2014 Report
// serverReport.ReportServerUrl = new Uri("http://2014server/reportserver");
// serverReport.ReportPath = "/SQL2014DemoReports/VertBar";
// A 2008R2 Report
// serverReport.ReportServerUrl = new Uri("http://2008R2server/Reportserver");
// serverReport.ReportPath = "/DemoReports/VertBar";
}
}
ASPX
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Reports.aspx.cs" Inherits="WebNew.Reports" %>
<%@ Register assembly="Microsoft.ReportViewer.WebForms, Version=14.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" namespace="Microsoft.Reporting.WebForms" tagprefix="rsweb" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Reports</title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<rsweb:ReportViewer ID="rv14" runat="server" Width="100%" Height="100%"></rsweb:ReportViewer>
</form>
</body>
</html>
报告
当我运行页面时,新的基于HTML的工具栏会呈现,我会看到一个“加载”的小对话框,但是什么也没有显示。没有提供报告正文。代码中当前未注释的报告是一个简单的运动列表,只有几页长,并不复杂
我可以告诉服务器已联系并回复,因为我看到分页控件指示存在多个页面,如果我随后使用任何导出控件(如PDF),则PDF中确实包含正确的呈现输出
它根本没有显示在我的网页上
我试过IE(11)、Chrome(58)和Firefox(49),它们都显示出相同的行为。无论我针对哪个服务器,或者是否连接到本地实例,这都无关紧要
有没有人见过这种行为,有没有任何可能发生的事情的指针,或者有没有一种尝试调试的好方法
非常感谢好的,所以我偶然发现了一个解决方案。问题似乎与查看器所包含的内容有关 如果我将查看器包装在一个DIV中,并将其高度设置为100垂直高度,那么查看器将正确显示其内容。在此之前,它必须有效地位于高度为零的容器中 正在使用的ASPX代码如下所示:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>2016 Report Viewer Test</title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div style="height:100vh">
<rsweb:ReportViewer
ID="rv14"
runat="server"
Width="100%"
Height="100%">
</rsweb:ReportViewer>
</div>
</form>
</body>
</html>
2016年报告查看器测试
希望有一天这能帮助别人。:-) 好的,所以我偶然发现了一个解决我所看到问题的方法。问题似乎与查看器所包含的内容有关 如果我将查看器包装在一个DIV中,并将其高度设置为100垂直高度,那么查看器将正确显示其内容。在此之前,它必须有效地位于高度为零的容器中 正在使用的ASPX代码如下所示:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>2016 Report Viewer Test</title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div style="height:100vh">
<rsweb:ReportViewer
ID="rv14"
runat="server"
Width="100%"
Height="100%">
</rsweb:ReportViewer>
</div>
</form>
</body>
</html>
2016年报告查看器测试
希望有一天这能帮助别人。:-) 加上这个,对我有用
rv14.SizeToReportContent = true;
加上这个,对我有用
rv14.SizeToReportContent = true;