zoukankan      html  css  js  c++  java
  • C# 利用ReportViewer生成报表

    本文主要是利用微软自带的控件ReportViewer进行报表设计的小例子,仅供学习分享使用,如有不足之处,还请指正。

    涉及知识点:

    • ReportViewer :位于Microsoft.Reporting.WinForms命名空间, 主要用于报表的显示
    • Report:报表,以rdlc结尾的文件,可视化设计报表模板。
    • 报表数据:内置字段,参数,图像,数据集(本报表主要使用参数,和数据集)
    • ReportParameter:使用名称和值实例化新的报表参数
    • ReportDataSource:报表的数据源与DataTable对象联系起来

    效果图

    如下:

    核心代码

    相关代码如下:

     1 /// <summary>
     2         /// 设置报表
     3         /// </summary>
     4         private void SetReport()
     5         {
     6             //第一步:清除之前的数据
     7             this.rptView.LocalReport.DataSources.Clear();
     8             //第二步:指定报表路径
     9             this.rptView.LocalReport.ReportPath = "Report2.rdlc";
    10             //第三步:构造新的DataTable
    11             DataTable dt = new DataTable("DataTable1");
    12             dt.Columns.Add("Name");
    13             dt.Columns.Add("Score");
    14             dt.Columns.Add("Id");
    15             dt.Rows.Add(new object[] { "语文", 80, "Y0001" });
    16             dt.Rows.Add(new object[] { "数学", 75, "S0001" });
    17             dt.Rows.Add(new object[] { "英文", 96, "E0001" });
    18             //名称不能写错,和报表中的数据集名称一致
    19             ReportDataSource rdsItem = new ReportDataSource("DataSet1", dt);
    20             //此处可以有多个数据源
    21             this.rptView.LocalReport.DataSources.Add(rdsItem);
    22             //第四步:构造参数
    23             List<ReportParameter> lstParameter = new List<ReportParameter>() {
    24                 new ReportParameter("Title",this.txtTitle.Text),
    25                 new ReportParameter("Id",this.txtId.Text),
    26                 new ReportParameter("Name",this.txtName.Text),
    27                 new ReportParameter("Age",this.txtAge.Text),
    28                 new ReportParameter("Sex",this.txtSex.Text),
    29                 new ReportParameter("Salary",this.txtSalary.Text),
    30                 new ReportParameter("Depart",this.txtDepart.Text)
    31             };
    32             this.rptView.LocalReport.SetParameters(lstParameter);
    33             this.rptView.ZoomMode = ZoomMode.Percent;
    34             this.rptView.ZoomPercent = 100;
    35             //第五步:刷新报表
    36             this.rptView.RefreshReport();
    37         }
    View Code

    源码下载链接

  • 相关阅读:
    CentOS6.8下安装Docker
    xshell连接Linux(centos6.8)失败的解决方法
    Windows Server定时执行bat
    [译]看漫画学Flux
    LeetCode题型分类及索引
    LeetCode & Q38-Count and Say-Easy
    LeetCode & Q20-Valid Parentheses-Easy
    LeetCode & Q14-Longest Common Prefix-Easy
    LeetCode & Q13-Roman to Integer-Easy
    LeetCode & Q28-Implement strStr-Easy
  • 原文地址:https://www.cnblogs.com/hsiang/p/6896782.html
Copyright © 2011-2022 走看看