当前位置:   article > 正文

Asp.Net WebForm Rdlc 报表的使用_reportviewer15.0.0.0

reportviewer15.0.0.0

开发工具 VS2017

一、项目创建

1、创建 .Net项目

 2、创建报表文件目录

项目创建完成后,创建如下的文件夹目录 rdlc文件夹下,存放的是rdlc 报表文件,RdlcReport是显示报表的页面

3、报表安装配置

 1)“工具”选项——“扩展和更新”选项——选择“联机”——搜索框中输入 rdlc搜索——选择“Microsoft RDLC Report Designer” 下载安装

 2)Nuget 中搜索“Microsoft.ReportingServices.ReportViewerControl.WebForms” 安装

3)Web.Config配置文件

  a.找到 system.web 节点下的compilation节点,在compilation节点添加如下代码

  1. <assemblies>
  2. <add assembly="Microsoft.ReportViewer.Common, Version=15.0.0.0, Culture=neutral,
  3. PublicKeyToken=89845DCD8080CC91" />
  4. <add assembly="Microsoft.ReportViewer.WebForms, Version=15.0.0.0, Culture=neutral,
  5. PublicKeyToken=89845DCD8080CC91" />
  6. </assemblies>

b.在compilation节点后添加如下设置

  1. <httpHandlers>
  2. <add path="Reserved.ReportViewerWebControl.axd" verb="*"
  3. type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms,
  4. Version=15.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91" validate="false"
  5. />
  6. </httpHandlers>

 c.在system.web节后,添加 system.webServer

  1. <system.webServer>
  2. <handlers>
  3. <add name="ReportViewerWebControlHandler" verb="*"
  4. path="Reserved.ReportViewerWebControl.axd" preCondition="integratedMode"
  5. type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms,
  6. Version=15.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91" />
  7. </handlers>
  8. </system.webServer>

4)控件及报表数据绑定 

a.在RdlcReport页面中,添加 报表控件注册

  1. <%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=15.0.0.0,
  2. Culture=neutral, PublicKeyToken=89845dcd8080cc91"
  3. Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>

 b.页面中添加报表控件 注:ScriptManager 必须添加

  1. <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
  2. <rsweb:ReportViewer CssClass="rdlc-report" BackColor="lightgrey"
  3. KeepSessionAlive="false" ToolBarItemBorderWidth="0" ID="_ReportViewer"
  4. ShowRefreshButton="False" ShowZoomControl="False" ShowBackButton="False"
  5. ShowExportControls="False" ShowFindControls="False" ShowToolBar="False"
  6. AsyncRendering="False" SizeToReportContent="True" PromptAreaCollapsed="True"
  7. ShowParameterPrompts="False" runat="server" Width="100%" Height="700px">
  8. </rsweb:ReportViewer>

c.在rdlc文件夹中添加报表

 d.在rdlc文件夹中添加 数据集

数据集创建完成后,在数据集中添加数据表,如下

e. 报表文件,绑定数据源

  左侧打开“报表数据”选项卡,找到“数据集”,右击 “添加数据集”

   左侧“工具箱” 选项卡,拖动“表” 工具到报表中(如果涉及比较复杂的分组,使用矩阵工具)

          然后给表绑定数据字段         

二、代码实现

  报表绑定数据的实现代码 RdlcReport.cs

  1. /// <summary>
  2. /// 页面加载事件
  3. /// </summary>
  4. /// <param name="sender"></param>
  5. /// <param name="e"></param>
  6. protected void Page_Load(object sender, EventArgs e)
  7. {
  8. if (!IsPostBack)
  9. {
  10. SetReportViewer();
  11. }
  12. }
  13. /// <summary>
  14. /// 绑定数据
  15. /// </summary>
  16. private void SetReportViewer()
  17. {
  18. List<AccountInfo> accountInfos = new List<AccountInfo>();
  19. for(int i = 0; i < 10; i++)
  20. {
  21. accountInfos.Add(new AccountInfo { AccountID=Guid.NewGuid().ToString(),UserName=(i+1).ToString()+"账户"});
  22. }
  23. //绑定rdlc数据
  24. string rptName = "Report1";//报表名称
  25. this._ReportViewer.LocalReport.ReportPath = String.Format(@"{0}\rdlc\" + rptName + ".rdlc", Server.MapPath("."));//绑定报表路径
  26. //报表传参
  27. //ReportParameter rpCurrMonth = new ReportParameter("displayDate", DateTime.Now.ToString("yyyy-MM-dd"));
  28. //this._ReportViewer.LocalReport.SetParameters(new ReportParameter[] { rpCurrMonth });
  29. this._ReportViewer.LocalReport.EnableHyperlinks = true;
  30. this._ReportViewer.LocalReport.DataSources.Clear();
  31. ReportDataSource rds1 = new ReportDataSource("DataSet1", accountInfos);
  32. this._ReportViewer.LocalReport.DataSources.Add(rds1); //绑定数据源
  33. }
  34. /// <summary>
  35. /// 登录账户信息
  36. /// </summary>
  37. class AccountInfo
  38. {
  39. /// <summary>
  40. /// 登录账户
  41. /// </summary>
  42. public string AccountID { get; set; }
  43. /// <summary>
  44. /// 用户姓名
  45. /// </summary>
  46. public string UserName { get; set; }
  47. }

最终报表效果

关于更多的报表工具的使用及 Microsoft.ReportingServices.ReportViewerControl.WebForms的详解,可参考https://docs.microsoft.com/zh-cn/sql/reporting-services/create-deploy-and-manage-mobile-and-paginated-reports?view=sql-server-2017 了解

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/人工智能uu/article/detail/885546?site
推荐阅读
相关标签
  

闽ICP备14008679号