赞
踩
开发工具 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节点添加如下代码
- <assemblies>
- <add assembly="Microsoft.ReportViewer.Common, Version=15.0.0.0, Culture=neutral,
- PublicKeyToken=89845DCD8080CC91" />
- <add assembly="Microsoft.ReportViewer.WebForms, Version=15.0.0.0, Culture=neutral,
- PublicKeyToken=89845DCD8080CC91" />
- </assemblies>
b.在compilation节点后添加如下设置
- <httpHandlers>
- <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>
c.在system.web节后,添加 system.webServer
- <system.webServer>
- <handlers>
- <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>
4)控件及报表数据绑定
a.在RdlcReport页面中,添加 报表控件注册
- <%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=15.0.0.0,
- Culture=neutral, PublicKeyToken=89845dcd8080cc91"
- Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>
b.页面中添加报表控件 注:ScriptManager 必须添加
- <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
- <rsweb:ReportViewer CssClass="rdlc-report" BackColor="lightgrey"
- KeepSessionAlive="false" ToolBarItemBorderWidth="0" ID="_ReportViewer"
- ShowRefreshButton="False" ShowZoomControl="False" ShowBackButton="False"
- ShowExportControls="False" ShowFindControls="False" ShowToolBar="False"
- AsyncRendering="False" SizeToReportContent="True" PromptAreaCollapsed="True"
- ShowParameterPrompts="False" runat="server" Width="100%" Height="700px">
- </rsweb:ReportViewer>
c.在rdlc文件夹中添加报表
d.在rdlc文件夹中添加 数据集
数据集创建完成后,在数据集中添加数据表,如下
e. 报表文件,绑定数据源
左侧打开“报表数据”选项卡,找到“数据集”,右击 “添加数据集”
左侧“工具箱” 选项卡,拖动“表” 工具到报表中(如果涉及比较复杂的分组,使用矩阵工具)
然后给表绑定数据字段
报表绑定数据的实现代码 RdlcReport.cs
- /// <summary>
- /// 页面加载事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- protected void Page_Load(object sender, EventArgs e)
- {
- if (!IsPostBack)
- {
- SetReportViewer();
- }
- }
- /// <summary>
- /// 绑定数据
- /// </summary>
- private void SetReportViewer()
- {
- List<AccountInfo> accountInfos = new List<AccountInfo>();
- for(int i = 0; i < 10; i++)
- {
- accountInfos.Add(new AccountInfo { AccountID=Guid.NewGuid().ToString(),UserName=(i+1).ToString()+"账户"});
- }
-
- //绑定rdlc数据
- string rptName = "Report1";//报表名称
- this._ReportViewer.LocalReport.ReportPath = String.Format(@"{0}\rdlc\" + rptName + ".rdlc", Server.MapPath("."));//绑定报表路径
- //报表传参
- //ReportParameter rpCurrMonth = new ReportParameter("displayDate", DateTime.Now.ToString("yyyy-MM-dd"));
- //this._ReportViewer.LocalReport.SetParameters(new ReportParameter[] { rpCurrMonth });
- this._ReportViewer.LocalReport.EnableHyperlinks = true;
- this._ReportViewer.LocalReport.DataSources.Clear();
- ReportDataSource rds1 = new ReportDataSource("DataSet1", accountInfos);
- this._ReportViewer.LocalReport.DataSources.Add(rds1); //绑定数据源
- }
- /// <summary>
- /// 登录账户信息
- /// </summary>
- class AccountInfo
- {
- /// <summary>
- /// 登录账户
- /// </summary>
- public string AccountID { get; set; }
- /// <summary>
- /// 用户姓名
- /// </summary>
- public string UserName { get; set; }
- }
最终报表效果
关于更多的报表工具的使用及 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 了解
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。