簡體   English   中英

比較Report Builder和Report Viewer時SSRS參數的奇怪行為

[英]Strange behaviour of SSRS parameters when comparing Report Builder and Report Viewer

SQL Server 2008 R2 SQL Server報告服務Report Builder 3.0 Visual Studio 2010 ASP.NET/C#

我在報表生成器中設計.rdl報表,並將其部署在SharePoint網站上。 大部分數據是通過存儲過程從SQL Server檢索的,其中大多數帶有參數。 參數顯示在報告的頂部。

大多數用戶使用ReportViewer控件在ASP.NET應用程序中使用報告。

        <rsweb:ReportViewer ID="rvResults" runat="server"  
            ProcessingMode="Remote"
            BackColor="#F5F6F7" ShowZoomControl="true" 
            ShowPrintButton="true" SizeToReportContent="true" ZoomMode="FullPage"
            ShowDocumentMapButton="true" ShowFindControls="true" ShowPageNavigationControls="true"
            ShowPromptAreaButton="False" InternalBorderColor="#ACBBD8">
        </rsweb:ReportViewer>

當我從Report Builder或SharePoint運行報表時,一切都會按預期進行。 參數顯示在報告的頂部(或側面),用戶可以輸入值(這些值主要來自使用存儲過程或嵌入式SQL填充的數據集的下拉列表)。 一些下拉列表是級聯的-即列表2中的值取決於列表1中選擇的值。

當我從ASP.NET應用程序中運行報表時,有兩個問題。 首先,我收到一個腳本錯誤:

行:157錯誤:Sys.ArgumentNullException:值不能為null。 參數名稱:panelsCreated 1

我已將報表中的某些參數設置為NULLABLE,並采用默認值NULL,因為報表的正確操作需要它。

其次,從下拉列表中選擇一個值將禁用所有參數值,並使報告不可用。 下面的兩個圖像顯示了這一點。

來自報告構建器的報告參數(正常工作) 在此處輸入圖片說明

來自ASP.NET應用程序的報告參數(無法正常工作) 在此處輸入圖片說明

細心的讀者可能會注意到,“輔助狀態ID”控件中顯示的值在兩個方面都不同。 在第一個正確版本中顯示,而在第二個版本中顯示。 用於填充控件的SQL如下:

SELECT Null AS ID, '<All>' AS Name
UNION
Select Distinct ID, Name
from lutRequestStatusSecondary
Where FKRequestTypeID=1
AND Deleted=0
AND FKStatusID=@StatusID
Order by Name

我在母版頁的ScriptManager中設置ScriptMode =“ Release”。 我不確定為什么它停止了工作(也不知道為什么舊版本仍在工作!),但這至少是答案之一(另一個可行的方法是在ReportViewer控件上設置AsyncRendering = False)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM