C#利用ReportViewer生成报表

发布时间 - 2026-01-11 01:16:10    点击率:

本文主要是利用微软自带的控件ReportViewer进行报表设计的小例子,具体内容如下

涉及知识点:

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

效果图如下:

相关代码如下:

/// <summary>
  /// 设置报表
  /// </summary>
  private void SetReport()
  {
   //第一步:清除之前的数据
   this.rptView.LocalReport.DataSources.Clear();
   //第二步:指定报表路径
   this.rptView.LocalReport.ReportPath = "Report2.rdlc";
   //第三步:构造新的DataTable
   DataTable dt = new DataTable("DataTable1");
   dt.Columns.Add("Name");
   dt.Columns.Add("Score");
   dt.Columns.Add("Id");
   dt.Rows.Add(new object[] { "语文", 80, "Y0001" });
   dt.Rows.Add(new object[] { "数学", 75, "S0001" });
   dt.Rows.Add(new object[] { "英文", 96, "E0001" });
   //名称不能写错,和报表中的数据集名称一致
   ReportDataSource rdsItem = new ReportDataSource("DataSet1", dt);
   //此处可以有多个数据源
   this.rptView.LocalReport.DataSources.Add(rdsItem);
   //第四步:构造参数
   List<ReportParameter> lstParameter = new List<ReportParameter>() {
    new ReportParameter("Title",this.txtTitle.Text),
    new ReportParameter("Id",this.txtId.Text),
    new ReportParameter("Name",this.txtName.Text),
    new ReportParameter("Age",this.txtAge.Text),
    new ReportParameter("Sex",this.txtSex.Text),
    new ReportParameter("Salary",this.txtSalary.Text),
    new ReportParameter("Depart",this.txtDepart.Text)
   };
   this.rptView.LocalReport.SetParameters(lstParameter);
   this.rptView.ZoomMode = ZoomMode.Percent;
   this.rptView.ZoomPercent = 100;
   //第五步:刷新报表
   this.rptView.RefreshReport();
  }

源码下载链接

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# C#  # ReportViewer  # 报表  # C#中把FastReport.Net报表控件的数据保存到数据库  # C#在Winform开发中使用Grid++报表  # C#使用doggleReport生成pdf报表的方法  # C# 创建报表过程详解  # C#使用DoddleReport快速生成报表  # 有多  # 微软  # 英文  # 自带  # 主要用于  # 下载链接  # 第二步  # 第三步  # 具体内容  # 大家多多  # 第四步  # 主要是  # 第五步  # csharp  # brush  # lt  # summary  # center  # align  # class 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何在Windows虚拟主机上快速搭建网站?  HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】  laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法  Laravel中间件如何使用_Laravel自定义中间件实现权限控制  利用python获取某年中每个月的第一天和最后一天  EditPlus中的正则表达式 实战(2)  西安专业网站制作公司有哪些,陕西省建行官方网站?  Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】  Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】  如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环  如何在阿里云虚拟主机上快速搭建个人网站?  Laravel用户密码怎么加密_Laravel Hash门面使用教程  如何获取免费开源的自助建站系统源码?  DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解  Python文件操作最佳实践_稳定性说明【指导】  UC浏览器如何设置启动页 UC浏览器启动页设置方法  北京企业网站设计制作公司,北京铁路集团官方网站?  Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)  如何用腾讯建站主机快速创建免费网站?  中山网站推广排名,中山信息港登录入口?  php json中文编码为null的解决办法  如何快速生成ASP一键建站模板并优化安全性?  ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法  bootstrap日历插件datetimepicker使用方法  谷歌Google入口永久地址_Google搜索引擎官网首页永久入口  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  Laravel如何升级到最新版本?(升级指南和步骤)  如何快速打造个性化非模板自助建站?  如何使用 jQuery 正确渲染 Instagram 风格的标签列表  如何快速查询网站的真实建站时间?  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  javascript中的try catch异常捕获机制用法分析  网站页面设计需要考虑到这些问题  Laravel如何实现API版本控制_Laravel API版本化路由设计策略  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  如何快速搭建支持数据库操作的智能建站平台?  Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】  微信小程序 配置文件详细介绍  为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】  UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程  Laravel中的Facade(门面)到底是什么原理  进行网站优化必须要坚持的四大原则  ,怎么在广州志愿者网站注册?  Firefox Developer Edition开发者版本入口  SQL查询语句优化的实用方法总结  Laravel如何使用Blade组件和插槽?(Component代码示例)