Fondamentalement, je veux savoir comment intégrer un rapport sur MVC.Net 2.Comment utiliser ReportViewer 2010 MVC.NET 2
Répondre
J'ai fait la question, parce qu'il n'y a pas assez d'informations sur le Web, ou les informations n'est pas complet, donc vous pouvez commencer à travailler. La première chose que vous devez savoir est que la visionneuse de rapports est un webcontrol donc vous ne pouvez pas l'utiliser sur MVC, donc la première chose à faire est de créer un formulaire web pour pouvoir ajouter la visionneuse de rapports. Dans l'exemple que je l'ai fait, je suis en utilisant Visual Studio 2010.
WebForm ressemble à ceci:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Report Viewer</title>
</head>
<body>
<div style="width: auto;">
<form id="form1" runat="server" style="width: 100%; height: 100%;">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<rsweb:ReportViewer ID="rptViewer" runat="server" Width="100%" Height="100%" AsyncRendering="False"
SizeToReportContent="True">
</rsweb:ReportViewer>
</form>
</div>
</body>
</html>
Le code derrière le formulaire Web:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
var reportServer = ConfigurationManager.AppSettings["ReportServer"].ToString();
var reportPath = ConfigurationManager.AppSettings["ReportPath"].ToString();
rptViewer.ServerReport.ReportServerUrl = new Uri(reportServer);
rptViewer.ShowToolBar = false;
rptViewer.ServerReport.ReportPath = reportPath + Request.QueryString["ReportName"];
List<ReportParameter> parameters = new List<ReportParameter>();
string[] keys = Request.QueryString.AllKeys;
for (int i = 1; i < Request.QueryString.Count; i++)
{
parameters.Add(new ReportParameter(keys[i], Request.QueryString[i]));
}
this.ReportViewer1.ServerReport.SetParameters(parameters);
this.ReportViewer1.ProcessingMode = ProcessingMode.Remote;
this.ReportViewer1.ShowParameterPrompts = false;
this.ReportViewer1.ShowPromptAreaButton = false;
this.ReportViewer1.ServerReport.Refresh();
rptViewer.ProcessingMode = ProcessingMode.Remote;
rptViewer.ServerReport.Refresh();
}
}
Maintenant, nous avons besoin utiliser le MVC. Nous avons deux options, ouvrir une nouvelle fenêtre avec un pop-up javascript ou utiliser un iframe.
Je ferai tous les deux afin que vous puissiez avoir une meilleure idée sur la vue:
<iframe id="Frame1" src="<%= Session["Url"] %>" width="230" height="230" frameborder="0"></iframe> **1
function OpenReports(name) {
var width = (screen.availWidth - 700).toString();
var height = (screen.availHeight - 100).toString();
window.open('/Reporting/Reports.aspx?ReportName=' + name,
'mywindow', 'width=' + width + ',height=' + height + ',toolbar=no,location=no,directories=yes,status=no,' +
'menubar=no,scrollbars=yes,copyhistory=yes,resizable=yes' + ',screenX=0,screenY=0,left=0,top=0');
} **2
** 1 SessionURL est une variable de session avec le chemin et le rapport que nous voulons montrer. C'est aussi la première façon de faire le rapport en utilisant un iframe
** 2 /Reporting/Reports.aspx est le chemin du webform que nous venons de faire. C'est la deuxième façon, en ouvrant une nouvelle fenêtre.
Dans le contrôleur:
public ActionResult ViewName()
{
Session["Url"] = "/Reporting/Reports.aspx?ReportName=Report44";
return View();
}**1
** 1 /Reporting/Reports.aspx est le chemin du formulaire en ligne, nous venons de faire eaelier.
également Si que vous utilisez Report Viewer 10 s'il vous plaît rappelez-vous cette fonctionnalité dans le web.config:
<system.web>
<httpHandlers>
<add verb="*" path="Reserved.ReportViewerWebControl.axd" type = "Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</httpHandlers>
</system.web>
espère que tout ce tutoriel aide quelqu'un :)
- 1. VS 2010 beta 2 Web ReportViewer Bug?
- 2. Comment désactiver l'attribut RequireHttps de MVC.NET version 2?
- 3. Utilisation du contrôle ReportViewer 9 dans VS 2010
- 4. mvc.net comment utiliser les aides fortement typées itérer liste en
- 5. Comment puis-je utiliser solr recherche dans mvc.net 2.0
- 6. Références de l'assembly ReportViewer de Visual Studio 2010
- 7. Vb.net 2010 Lecture des sous-propriétés d'un objet dans reportViewer
- 8. ASP MVC.NET - comment lier KeyValuePair?
- 9. Table ReportViewer
- 10. MVC.NET MultiSelectList les Questions
- 11. TFSReg en 2010 Bêta 2?
- 12. reportviewer chart axis
- 13. MVC.Net Description de l'utilisateur
- 14. MVC 2: Comment utiliser Html.DropDownListFor?
- 15. Comment utiliser BigInteger dans VS 2010
- 16. Comment utiliser libcurl dans Visual C++ 2010?
- 17. ReportViewer question
- 18. Mock ParentActionViewContext MVC.Net
- 19. <% = Comment écrire une chaîne MVC.Net
- 20. Comment puis-je utiliser le ReportViewer SSRS de VS 2008 dans un projet VS2010?
- 21. MVC 2: Html.TextBoxFor, etc. dans VB.NET 2010
- 22. Visual Studio 2010 Beta 2 et PHP
- 23. Comment utiliser orderby avec 2 champs dans linq?
- 24. ASP.NET MVC 2 et VS 2010 Beta 2
- 25. autopostback pour dropdownlist dans mvc.net
- 26. Utiliser 2 cartes son
- 27. TFS 2008 avec VS 2010 (Bêta 2)
- 28. Linq2Sql ou Nhibernate pour le projet MVC.NET
- 29. Microsoft Reportviewer
- 30. Comment réparer/désinstaller Visual Web Developer 2010 Beta 2?
Il a aidé quelqu'un - moi. Merci beaucoup. – Peanut
Concernant "La première chose que vous devez savoir est que la visionneuse de rapports est un webcontrol donc vous ne pouvez pas l'utiliser sur MVC", c'est incorrect comme une instruction générale. [Vous pouvez faire fonctionner les contrôles Web dans MVC.] (Http://blogs.teamb.com/craigstuntz/2009/05/12/38297/) Je ne l'ai pas encore essayé avec le visualiseur de rapports. –
cela m'a beaucoup aidé. Merci, Sergio. – AEMLoviji