Asp.Net WebForm Rdlc 报表的使用

开发工具 VS2017

一、项目创建

1、创建 .Net项目

Asp.Net WebForm Rdlc 报表的使用_第1张图片

Asp.Net WebForm Rdlc 报表的使用_第2张图片

 2、创建报表文件目录

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

3、报表安装配置

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

Asp.Net WebForm Rdlc 报表的使用_第3张图片

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

Asp.Net WebForm Rdlc 报表的使用_第4张图片

3)Web.Config配置文件

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

       
         
         
       

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

    
      
    

 c.在system.web节后,添加 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 必须添加

     
     
     

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

Asp.Net WebForm Rdlc 报表的使用_第5张图片

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

Asp.Net WebForm Rdlc 报表的使用_第6张图片

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

Asp.Net WebForm Rdlc 报表的使用_第7张图片

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

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

Asp.Net WebForm Rdlc 报表的使用_第8张图片

Asp.Net WebForm Rdlc 报表的使用_第9张图片

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

Asp.Net WebForm Rdlc 报表的使用_第10张图片

          然后给表绑定数据字段         

Asp.Net WebForm Rdlc 报表的使用_第11张图片

二、代码实现

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

        /// 
        /// 页面加载事件
        /// 
        /// 
        /// 
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                SetReportViewer();
            }
        }
        /// 
        /// 绑定数据
        /// 
        private void SetReportViewer()
        {
            List accountInfos = new List();
            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);  //绑定数据源
        }
        /// 
        /// 登录账户信息
        /// 
        class AccountInfo
        {
            /// 
            /// 登录账户
            /// 
            public string AccountID { get; set; }
            /// 
            /// 用户姓名
            /// 
            public string UserName { get; set; }
        }

最终报表效果

Asp.Net WebForm Rdlc 报表的使用_第12张图片

关于更多的报表工具的使用及 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 了解

你可能感兴趣的:(rdlc报表,C#,.Net)