文章目录

前言

一、VS中找不到ReportView

二、使用步骤

1.直接拉取控件到窗体

​编辑

2.添加参数

总结


前言

应用场景:在做一个巡检机器人项目时,对于巡检结果,需要在Winform端显示巡检报告,报告中有图片。开始想到的是用DataGridView控件去实现,确实也能够将图片显示出来,但是分辨率和导出来的来的效果,简直就是惨不忍睹。后面想到还有reportview这个玩意,就琢磨了一下,下面就将过程中的一些坑和实现步骤给大家分享一下。

一、VS中找不到ReportView

1.方法一:

在VS中选择工具——Nuget包管理器——程序包管理器控制台

执行命令:Install-Package Microsoft.ReportingServices.ReportViewerControl.WinForms -Pre

然后在VS的工具——选择工具箱项——.NetFramework下,选择“浏览”,然后在工程根目录下的“\packages\Microsoft.ReportingServices.ReportViewerControl.Winforms.xx\lib\net40”目录下选择“Microsoft.ReportViewer.WinForms.dll”文件(其中xx代表Microsoft.ReportingServices.ReportViewerControl.Winforms.140.1000.523后面的数字)。

2.方法二:

如果方法一不行,就在控制面板中选择VS,点击更新

勾选上以下三个选项,安装即可。

二、使用步骤

1.直接拉取控件到窗体

拖入窗体后,右上角“设计新报表”

数据源处点击新建

选择数据库--数据集

填入你需要连接数据库的信息

选择你需要显示的表格

点击下一步

将你想显示到报表的字段拖到这里来,不然自己新建太麻烦了。

新建完成之后就是这个样子,可以手动修改表头的名称

下一步

回到窗体,选择报表

2.添加参数

第一步 首先给自己的rdlc报表自定义参数,在视图找到Report Data 菜单 ,当然这个菜单 笔记本的不容易找到,点 视图 用滚轮 一直往下滚,最下面才是Report Data 菜单,点中参数,右键添加参数。


第二步 在rdlc报表上添加参数,图像源为外部,具体见图片

3.后台代码

 /// <summary>/// 刷新巡检报告/// </summary>/// <param name="AddSql"></param>public void ShowReport(string AddSql){string Err = "";try{DataTable Dt = bllPublic.GetDataTable("T_AGV_InspectReport", AddSql, ref Err).dt;reportViewer1.LocalReport.EnableExternalImages = true;//这个不设置为True会报错ReportDataSource rds = new ReportDataSource("DSTest", Dt);reportViewer1.LocalReport.ReportPath = "Report1.rdlc";reportViewer1.LocalReport.DataSources.Clear();reportViewer1.ZoomPercent = 120;for (int i = 0; i < Dt.Rows.Count; i++){reportViewer1.LocalReport.SetParameters(new ReportParameter("HWEWM", "file:///" + Dt.Rows[i]["HWPicPath"].ToString()));//报表绑定参数reportViewer1.LocalReport.SetParameters(new ReportParameter("HKEWM", "file:///" + Dt.Rows[i]["HKPicPath"].ToString()));//报表绑定参数}reportViewer1.LocalReport.DataSources.Add(rds);reportViewer1.RefreshReport();}catch (Exception ex){MessageBox.Show(ex.Message);}}

感觉是没啥问题了,能正常显示出来如图:


怕有的伙伴疑问,我顺便贴一下我数据库表内容

主要的难点就是由字符串(路径)去显示成本地的图片 。

总结

例如:以上就是今天要讲的内容,本文仅仅简单介绍了水晶报表的使用,如有错误的地方或不好的地方,请各位不吝赐教。

winform水晶报表中添加图片相关推荐

  1. 如何在水晶报表中添加条形码-winform ,c#.net

    1 在电脑上安装字体:FRE3OF9X.TTF于来源:http://www.squaregear.net/fonts/ 客户机上面也必须要安装此字体(FRE3OF9X.TTF)!     2 报表上增 ...

  2. 水晶报表中动态显示图片

    1.在原有xsd的架构上增加一列imgdata,数据类型为Base64Binary; 2.生成项目,重新指定报表数据源,将imgdata字段放入报表的相应位置; 3.代码中,生成数据集时,查询语句在原 ...

  3. 视频教程-C#Winform水晶报表实例教程-C#

    C#Winform水晶报表实例教程 二十多年的企业管理软件开发经历,熟知管理软件的整个开发流程,熟练掌握VFP语言,掌握VB语言,了解JAVA.asp.net.CSS.HTML/HTML5等语言,使用 ...

  4. 在水晶报表中动态显示任意格式的图片

    在水晶报表中动态显示任意格式的图片 如何在水晶报表中动态显示任意格式的图片        前段时间,Accounting 项目内需要在水晶报表中动态显示任意格式的图片.但是,水晶报表只支持OleDb的 ...

  5. 水晶报表中显示动态图片

    href="file:///C:/WINDOWS/TEMP/msoclip1/01/clip_filelist.xml" rel="File-List" /&g ...

  6. 为你的水晶报表装载本地图片

    本文为解答该贴所做:http://topic.csdn.net/u/20090524/15/911fd15a-32c6-4be9-9aa1-3ee95365e7e3.html  并没有什么新内容,主要 ...

  7. VS2010水晶报表的添加与使用

    原文:VS2010水晶报表的添加与使用 最近在学习VS2010水晶报表,发现原先安装的VS2010旗舰版没有 Crystal Report Viewer 控件,网上搜索一下发现要安装一个插件----C ...

  8. 初次使用Android Studio问题,Android Studio往项目中添加图片

    2019独角兽企业重金招聘Python工程师标准>>> 习惯了iOS往项目中直接拖拽的图片的习性,第一次往Android Studio中添加图片为难了,怎么也拖拽不进去,为难了,研究 ...

  9. 在水晶报表中实现任意选择指定字段显示-模板及C#升级版

    前文<在水晶报表中实现任意选择指定字段显示>中有朋友留言说是有无C#版本,最近有时间,重写了一下. 一是使用了VS2005 C#2.0 + Crystal Report 2008,另外就是 ...

最新文章

  1. pytorch问题索引
  2. 巩固一下C语言中的指针
  3. Spring自定义属性编辑器PropertyEditorSupport + 使用CustomEditorConfigurer注册属性编辑器...
  4. Python sys 模块
  5. linux kernel中的cmdline的详细介绍
  6. 计算机专业技能知识,2017年度计算机专业技能知识资料基础知识资料试题'及其答案...
  7. 苹果mac休眠快捷键_Mac技巧|如何高效使用苹果便笺?用便笺快捷键快速完成操作...
  8. leetcode 491. 递增子序列 思考分析
  9. 开发iOS即时通讯工具参考的一些开源、框架和教程
  10. 分享按钮 Social Buttons for Bootstrap
  11. OpenJ_Bailian 2814 拨钟问题
  12. Android源码分析之 JobScheduler
  13. flux架构浅谈:什么数据才应该放store
  14. 【转载】jQuery框架
  15. java nio 按行读取_Java NIO按行读取文本文件
  16. 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第 几号的那位。
  17. 电脑开启麦克风有回音,录音声音太小怎么办?
  18. LaTex技巧:用PPT画图,然后导入LaTeX
  19. 一个大专生的java从业心路历程
  20. mac删除core文件并关闭core文件以节约磁盘

热门文章

  1. java毕业设计——基于java+J2ME的贪吃蛇游戏设计与实现(毕业论文+程序源码)——贪吃蛇游戏
  2. amd的5700g无法进入系统和pe(锁四个核心可进入)
  3. 单片机+DHT11的温湿度采集监测系统,LCD1602显示,带报警功能,C代码、原理图和Proteus仿真
  4. 【FTP局域网配置共享文件】
  5. 列合并:两列 或 多列 合并为 一列
  6. 计算机教室设备安全管理制度,计算机教室和多媒体教室安全管理制度
  7. linkux笔记 37——46
  8. 数字阅读正成移动互联网趋势
  9. art template 模板渲染数据
  10. 华为交换机的配置大全