Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Ovládací prvky Prohlížeče sestav lze použít k integraci sestav jazyka RDL (Reporting Services Definition Language) do aplikací WebForms a WinForms. Podrobné informace o nedávných aktualizacích najdete v poznámkách k verzi pro ovládací prvky Prohlížeče sestav pro WebForms a WinForms SSRS.
Přidejte ovládací prvek Report Viewer do nového webového projektu
Vytvořte nový ASP.NET Prázdný web nebo otevřete existující projekt ASP.NET.
Můžete použít rozhraní .NET Framework 4.6 nebo jakoukoli novější verzi.
Nainstalujte balíček NuGet ovládacího prvku Prohlížeče sestav prostřednictvím konzoly správce balíčků NuGet.
Install-Package Microsoft.ReportingServices.ReportViewerControl.WebFormsPřidejte do projektu novou stránku .aspx a zaregistrujte sestavení ovládacího prvku "Prohlížeč sestav" pro použití na stránce.
<%@ Register assembly="Microsoft.ReportViewer.WebForms, Version=15.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" namespace="Microsoft.Reporting.WebForms" tagprefix="rsweb" %>Na stránku přidejte ScriptManagerControl .
Na stránku přidejte ovládací prvek Prohlížeč sestav. Následující fragment kódu lze aktualizovat tak, aby odkazovala na sestavu hostovanou na vzdáleném serveru sestavy.
<rsweb:ReportViewer ID="ReportViewer1" runat="server" ProcessingMode="Remote"> <ServerReport ReportPath="" ReportServerUrl="" /> </rsweb:ReportViewer>
Poslední stránka by měla vypadat jako v následujícím příkladu.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="Sample" %>
<%@ Register assembly="Microsoft.ReportViewer.WebForms, Version=15.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">
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager runat="server"></asp:ScriptManager>
<rsweb:ReportViewer ID="ReportViewer1" runat="server" ProcessingMode="Remote">
<ServerReport ReportServerUrl="https://AContosoDepartment/ReportServer" ReportPath="/LatestSales" />
</rsweb:ReportViewer>
</form>
</body>
</html>
Aktualizujte stávající projekt, aby používal ovládací prvek Prohlížeč sestav
Nezapomeňte aktualizovat všechny odkazy na sestavení na verzi 15.0.0.0, včetně web.config projektu a všech stránek .aspx, které odkazují na ovládací prvek prohlížeče.
Ukázkové změny web.config
<?xml version="1.0"?>
<!--
For more information on how to configure your ASP.NET application, please visit
https://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.6">
<assemblies>
<!-- All assemblies updated to version 15.0.0.0. -->
<add assembly="Microsoft.ReportViewer.Common, Version=15.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91"/>
<add assembly="Microsoft.ReportViewer.DataVisualization, Version=15.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91"/>
<add assembly="Microsoft.ReportViewer.Design, Version=15.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91"/>
<add assembly="Microsoft.ReportViewer.ProcessingObjectModel, Version=15.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91"/>
<add assembly="Microsoft.ReportViewer.WebDesign, Version=15.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91"/>
<add assembly="Microsoft.ReportViewer.WebForms, Version=15.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91"/>
<add assembly="Microsoft.ReportViewer.WinForms, Version=15.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91"/>
</assemblies>
<buildProviders>
<!-- Version updated to 15.0.0.0. -->
<add extension=".rdlc"
type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.WebForms, Version=15.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91"/>
</buildProviders>
</compilation>
<httpRuntime targetFramework="4.6"/>
<httpHandlers>
<!-- Version updated to 15.0.0.0 -->
<add path="Reserved.ReportViewerWebControl.axd" verb="*"
type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=15.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91"
validate="false"/>
</httpHandlers>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules runAllManagedModulesForAllRequests="true"/>
<handlers>
<!-- Version updated to 15.0.0.0 -->
<add name="ReportViewerWebControlHandler" verb="*" path="Reserved.ReportViewerWebControl.axd" preCondition="integratedMode"
type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=15.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91"/>
</handlers>
</system.webServer>
</configuration>
Ukázka .aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="SampleAspx" %>
<!-- Update version to 15.0.0.0 -->
<%@ Register assembly="Microsoft.ReportViewer.WebForms, Version=15.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" namespace="Microsoft.Reporting.WebForms" tagprefix="rsweb" %>
<!DOCTYPE html>
Přidejte ovládací prvek Prohlížeč sestav do nového projektu Windows Forms
Vytvořte novou aplikaci Windows Forms nebo otevřete existující projekt.
Můžete použít rozhraní .NET Framework 4.6 nebo jakoukoli novější verzi.
Nainstalujte balíček NuGet ovládacího prvku Prohlížeče sestav prostřednictvím konzoly správce balíčků NuGet.
Install-Package Microsoft.ReportingServices.ReportViewerControl.WinFormsPřidejte nový ovládací prvek z kódu nebo ho přidejte na panel nástrojů.
private Microsoft.Reporting.WinForms.ReportViewer reportViewer1; private void InitializeComponent() { this.reportViewer1 = new Microsoft.Reporting.WinForms.ReportViewer(); this.SuspendLayout(); // // reportViewer1 // this.reportViewer1.Location = new System.Drawing.Point(168, 132); this.reportViewer1.Name = "reportViewer1"; this.reportViewer1.ServerReport.BearerToken = null; this.reportViewer1.Size = new System.Drawing.Size(396, 246); this.reportViewer1.TabIndex = 0; // // Form1 // this.Controls.Add(this.reportViewer1); }
Jak nastavit 100% výšku v ovládacím prvku Prohlížeče sestav
Když nastavíte výšku zobrazovacího prvku na 100 %, nadřazený prvek musí mít definovanou výšku, nebo všechny jeho předcházející prvky musí mít procentuální výšku.
Nastavte výšku všech předků na 100%
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<style>
html,body,form,#div1 {
height: 100%;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div id="div1" >
<asp:ScriptManager runat="server"></asp:ScriptManager>
<rsweb:ReportViewer ID="ReportViewer1" runat="server" ProcessingMode="Remote" Height="100%" Width="100%">
<ServerReport ReportServerUrl="https://test/ReportServer" ReportPath="/testreport" />
</rsweb:ReportViewer>
</div>
</form>
</body>
</html>
Nastavení atributu height nadřazeného objektu
Další informace o délkách v procentech zobrazení najdete v tématu Délky v procentech zobrazení.
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
</head>
<body>
<form id="form1" runat="server">
<div style="height:100vh;">
<asp:ScriptManager runat="server"></asp:ScriptManager>
<rsweb:ReportViewer ID="ReportViewer1" runat="server" ProcessingMode="Remote" Height="100%" Width="100%">
<ServerReport ReportServerUrl="https://test/ReportServer" ReportPath="/testreport" />
</rsweb:ReportViewer>
</div>
</form>
</body>
</html>
Přidání ovládacího prvku na panel nástrojů sady Visual Studio
Ovládací prvek Prohlížeče sestav se teď dodává jako balíček NuGet a ve výchozím nastavení se už nezobrazuje v sadě nástrojů sady Visual Studio. Ovládací prvek můžete do panelu nástrojů přidat ručně.
Nainstalujte balíček NuGet pro WinForms nebo WebForms, jak je uvedeno výše.
Odeberte ovládací prvek Prohlížeče sestav, který je uvedený v sadě nástrojů.
Klikněte pravým tlačítkem na libovolné místo v sadě nástrojů a vyberte Zvolit položky....
V komponentách rozhraní .NET Framework vyberte Procházet.
Vyberte Microsoft.ReportViewer.WinForms.dll nebo Microsoft.ReportViewer.WebForms.dll z nainstalovaného balíčku NuGet.
Poznámka:
Balíček NuGet se nainstaluje do adresáře řešení vašeho projektu. Cesta k knihovně DLL bude podobná následující:
{Solution Directory}\packages\Microsoft.ReportingServices.ReportViewerControl.Winforms.{version}\lib\net40nebo{Solution Directory}\packages\Microsoft.ReportingServices.ReportViewerControl.WebForms.{version}\lib\net40.Nový ovládací prvek by se měl zobrazit v sadě nástrojů. Pokud chcete, můžete ho přesunout na jinou kartu v rámci panelu nástrojů.
Běžné problémy
Ovládací prvek prohlížeče je určený pro moderní prohlížeče. Ovládací prvek nemusí fungovat podle očekávání, pokud prohlížeč stránku vykreslí v režimu kompatibility IE. Intranetové weby můžou vyžadovat metaznačku k přepsání výchozího chování prohlížeče.
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
NuGet.org stránky
Tady jsou odkazy na články na webu NuGet.org o verzích WebForm a WinForm ovládacího prvku Prohlížeč sestav:
- Microsoft.ReportingServices.ReportViewerControl.WebForms
- Microsoft.ReportingServices.ReportViewerControl.WinForms
Názory na fórum
Dejte týmu vědět o problémech na fórech služby Reporting Services.