2017-06-29 150 views
0

我希望有人對我所經歷的內容有所瞭解。v14.0 Web報表查看器控件不顯示報表正文

多年來,我一直使用各種版本的報表查看器控件(包括WinForms和Web),並開始嘗試在ASP .NET Wed Forms項目中使用最新的基於HTML5的版本。

我的環境如下: 使用Windows 7和SQL Server 2014的開發筆記本電腦包括SSRS。 具有2008R2,2014和2016 Reporting Services的各種遠程服務器。

我已經按照Microsoft Docs: https://docs.microsoft.com/en-us/sql/reporting-services/application-integration/using-the-webforms-reportviewer-control的這個教程頁面,並設置了一個指向遠程服務器報告的頁面。

代碼背後:

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),都顯示相同的行爲。無論我的目標服務器是哪一臺或是否連接到本地實例,都無關緊要。

有沒有人看到過這種行爲,指出可能發生什麼,或者嘗試調試的好方法?

非常感謝

回答

1

好了,我碰到一個解決方案迷迷糊糊的我所看到的。看起來問題是與觀衆所包含的內容有關。

如果我將查看器包裝在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> 

希望這可以幫助別人一天。 :-)

0

添加此,爲我工作。

rv14.SizeToReportContent = true; 
相關問題