VS自带报表控件和打印功能,这样就给我们这些编程者带来了很大的方便。下面就将我做程序的一些小经历来跟大家一起分享一下。

1,我们右击U层所在文件夹添加“新建项”。

2,在弹出的的添加新建项窗口中找到“reporting”,在右面的内容窗口中选中“报表”选项,设置报表的名称。

3,点击确定后,显示如下界面。我们可以通过“报表数据”内的选项设置一些内置字段、参数等信息。如果界面不显示“报表数据”窗口, 可以通过“视图”——“报表数据(最后一项)”或者“Ctrl+Alt+D”来打开数据窗口。

4,在上图的“报表数据”窗口中选择“新建”——“数据集”,进入下图界面。选中“数据库”,下一步,,选中“数据集”,进入“数据源设置向导”窗口。

5,点击“新建连接”,在“添加连接”对话窗口中设置服务器名、用户名、密码、连接到的数据库等信息,然后点击“测试连接”,出现“测试连接成功”,然后确定,一直下一步。

6,给数据集添加需要应用的数据库对象,表、视图、存储过程等等。这里只用到了表,然后确定。

7,添加完成数据库对象后添加的相应信息显示如下界面。可以修改数据集名称。

8,设置完以上步骤后即可在“报表数据”窗口中看到新建的数据集信息了。

9,接下来就是设计报表格式了。打开左侧的工具箱,可以看到图示的“报表项”,文本框、表、矩阵、列表等等。如果没有工具性选项卡,可以“Ctrl+Alt+X”快捷打开。文本框用于显示文字、传递参数。表和矩阵则可以用来存放数据。不同的是表是针对于“列数固定、行数可变的数据”设计的,而矩形则是针对于“列数与行数均可变”的聚合数据设计的。

10,根据功能要求,设计完的报表界面如图所示,因此这里需要用到的工具是“表”。从表中可以看出,我们最后需要打印的是单条记录的信息,而机房中我们得到的都是整张表的信息,二者的区别在于:在报表绑定数据库的时候绑定的是指定的记录还是整张表。

11,首先在工具箱中选中工具“表”拖动到报表窗口中。由上图我们可以看到,不同于以前报表的是,格式发生了变化,其实很简单,只需合并单元格就可以了。例如,标题栏,选中标题栏所在行的所有列,鼠标右击,选中“合并单元格”就OK啦~~~在需要显示文本内容的列中直接双击输入信息即可,需要加载数据库信息的列点击右上角的数据集小图标即可自动加载相应的数据集信息,然后依次选中相应的信息选项即可。到此,报表就算是设计完了。接下来就是打印了。

13,首先在项目中新建一个windows窗体,在左侧的工具箱中“报表”文件夹下找到“ReportViewer”选中并将其拖放到窗体上,调整合适的大小与位置。

14,具体代码实现打印过程:

 
  1. using System;

  2. using System.Collections.Generic;

  3. using System.ComponentModel;

  4. using System.Data;

  5. using System.Drawing;

  6. using System.Linq;

  7. using System.Text;

  8. using System.Threading.Tasks;

  9. using System.Windows.Forms;

  10. using System.Data.SqlClient ;

  11. using Microsoft.Reporting.WinForms;

  12. using System.Configuration;

  13. using LRepairBill;

  14. namespace RepairBill.UI

  15. {

  16. public partial class ReportPrint : Form

  17. {

  18. public ReportPrint()

  19. {

  20. InitializeComponent();

  21. }

  22. private void ReportPrint_Load(object sender, EventArgs e)

  23. {

  24. reportViewer1.Clear();

  25. string bill_Num = CheckBill.str;

  26. string connstring = "server=.;database=Repair;uid=sa;pwd=123456";

  27. SqlConnection conn = new SqlConnection(connstring);

  28. SqlCommand cmd = conn.CreateCommand();

  29. cmd.CommandText = "select*from repair_table where bill_num=@Bill_Num";

  30. cmd.Parameters.Add(new SqlParameter("@Bill_Num", bill_Num));

  31. conn.Open();

  32. cmd.ExecuteNonQuery();

  33. DataTable dt = new DataTable();

  34. try

  35. {

  36. System.Data.SqlClient.SqlDataAdapter ada1 = new System.Data.SqlClient.SqlDataAdapter(cmd);

  37. ada1.Fill(dt);

  38. }

  39. finally

  40. {

  41. conn.Close();

  42. cmd.Dispose();

  43. conn.Dispose();

  44. }

  45. ReportDataSource rds = new ReportDataSource("DataSet1", dt);

  46. this.reportViewer1.LocalReport.DataSources.Clear();

  47. this.reportViewer1.LocalReport.DataSources.Add(rds);        

  48. //为报表浏览器指定报表文件

  49. this.reportViewer1.LocalReport.ReportEmbeddedResource = "RepairBill.UI.RepairReport.rdlc"; //指定数据集,数据集名称后为表,不是DataSet类型的数据集  

  50. this.reportViewer1.RefreshReport();

  51. //reportViewer1.clear();

  52. //this.reportViewer2.RefreshReport();

  53. }

特别需要注意的是,在为报表浏览器指定报表文件时,如果不确定到底该怎么写,可以通过以下路径来确定,如果此处出现错误,可能会提示N种报错信息,为了节省时间,所以一开始就要仔细确认好。

通过这次的总结,再次验证了“学习是一个反复的过程”。这里,只跟大家分享了我用到的部分和遇到的一些问题,更多的知识还需要大家自己去学习和运用。也希望大家来一起交流,一起积累,一起进步。

转自:思想上移,行动下移

【转】VS2013自带报表+打印功能相关推荐

  1. 能实现报表打印功能的报表软件有哪些?

    ​虽然表格制作软件可以在电脑显示屏上展示,但许多时候更需要纸张的直观展示分析,这就考验了报表工具的表格制作软件打印功能,表格制作软件离不开打印,打印就少不了要批量.因此本文旨在从多参打印,分页打印,缩 ...

  2. avue-crud自带的打印功能BUG,在打印时会打印操作栏

    问题描述 打印时会显示操作栏  问题解决效果 代码如下: 用插槽自定义打印按钮,记得去掉option中的printBtn:true, 此处的打印,在试了很多组件后,决定使用vxe-table的打印组件 ...

  3. 使用JasperReport报表工具,做出Java项目报表打印功能(一)

    一:介绍 JasperReport是一个强大.灵活的报表生成工具,能够展示丰富的页面内容,并将之转换成PDF,HTML,或者XML格式.该库完全由Java写成,可以用于在各种Java应用程序,包括J2 ...

  4. vue 使用浏览器自带打印机打印功能

    本文主要介绍了vue项目中使用print.js打印,解决多页,分页,打印预览样式修改等问题. 引入安装vue-print.js cnpm i vue-printjs --save-dev 解决打印多页 ...

  5. 安卓手机连接IP100蓝牙打印机实现打印功能

    最近要做两个Android demo .第一个要求用手机蓝牙连接打印机实现手填报表打印功能,第二个是手机蓝牙连接的手持设备,需求同步里面的数据,同步成功后要删除设备里面的数据. 先开始玩的是佳能IP ...

  6. Vue前端实现excel的导入、导出、打印功能

    目录 一.相关依赖下载 二.excel导入功能 三.table导出excel表格 1.导出行数据 2.导出table数据(也会导出合并单元格) 3.导出二维数据的table数据 4.导出合并单元格ta ...

  7. vue中实现打印功能的方法与注意事项

    vue中实现打印功能的方法与注意事项 一.使用方法: 1. 在HTML中 2. 在VUE项目中 二.问题总结 1. 设置打印方向 2. 设置打印高度 1. 单张打印 2. 循环打印 3. 获取打印操作 ...

  8. vue项目实现前端打印功能

    一.直接使用window自带的打印功能: window.print() <template><div><p>点击下面的按钮,可将div里的内容区域进行打印</ ...

  9. 明宇报表连接mysql_五种主流web报表对比:批量报表打印

    阅读提示: 文章中与FineReport软件使用的相关内容,基于软件的V7.0旧版本编写,不代表软件最新的使用方式. FineReport最新版免费试用:https://www.finereport. ...

最新文章

  1. 笔记本电脑字母键盘总是打出数字_笔记本电脑,这些情况都是键盘坏了,换了就能好...
  2. StringBuffer与StringBuilder的区别
  3. ElementUI中的el-select中多选回显数据后没法重新选择和更改
  4. 提取手机游戏资源 特效 显存分析工具 无视任何加密
  5. Collatz猜想 (Hailstone)(3n + 1猜想)
  6. 腾讯2020校园招聘----逆序对
  7. z-index无效注意事项
  8. [转载]Yahoo!的分布式数据平台PNUTS简介及感悟
  9. 苏槐: 数据治理的本质及实践
  10. SpringAOP配置与使用(示例)
  11. CCNA学习资料简介
  12. Linux 之查看 OpenCV 版本并卸载重装
  13. DataPipeline王睿:业务异常实时自动化检测 — 基于人工智能的系统实战
  14. 螃蟹效应:表现优秀遭嫉妒,如何应对职场竞争?
  15. 面向削峰填谷的电动汽车多目标优化调度策略
  16. 绝对经典!百句浓缩版小常识(ZT)
  17. tipask 修改,临时的(暂没进行很好的全面考虑,为上线用)
  18. 庆祝祖国60岁生日!
  19. 微信公众号开发——微信支付踩坑小记
  20. 能够做到亚马逊月销售额50w以上的运营,他们有什么共同点 和技巧

热门文章

  1. 免费ARP(Gratuitous ARP)的介绍
  2. 加权最小二乘(Weighted Least Squares,WLS)回归及R语言计算
  3. 计算机毕业设计ssm特种设备全生命周期管理系统8b729系统+程序+源码+lw+远程部署
  4. win7打开方式选择默认程序导致应用程序无法打开
  5. 黑马程序员_7k面试题之交通灯
  6. 虚拟主机的配置以及解决访问不了localhost和127.0.0.1
  7. 2021校园照片芯片岗位笔试题知识点(华为,OPPO,紫光,大疆)
  8. 新疆语 维吾尔语字母表与发音
  9. 实测通过,懒人专用,苹果手机投屏电脑快捷办法
  10. android之基于Zxing二维码扫描