机房收费系统合作版——周结账单之报表
来源:互联网 发布:中国核弹头数量 知乎 编辑:程序博客网 时间:2024/06/01 08:50
前言:
报表这部分在16年8月份结束机房合作项目的时候被遗留下来一直没有解决好,也没有总结,直到年前验收的时候又一次相遇,现在它终于在经过“两年的奔波之后安全着陆”,赶紧收藏起来。
这次弄这个报表花了不少时间,也站在巨人的肩膀上折腾了很久~~~(*^__^*) ,今天在我将要放弃的时候,又坚持了一下,终于弄出来了,还是很开心的。印证了一句话,千万别在黎明前放弃,嘻嘻。
步骤:
1、创建窗体
首先创建相应的窗体,然后在工具箱中把报表控件拖到窗体中。
同时也将日期控件拖到窗体上,最后的界面如下。
2、创建报表
创建后的界面:
右侧解决方案中出现了“Report1.rdlc”这一项,窗体中出现空白报表。
添加表:
在空白报表上单击右键,添加表
出现如下界面:
添加表头和数据:
表添加成功后,再添加对应的表头和数据,列数可以根据自己的需要添加和删除,同时表头也可以根据需要改成中文。
简单效果:
3、报表控件的配置
选中reportViewer控件,点击右上角的小三角,选择上一步创建好的报表“Report1.rdlc”。
这时窗体下面会出现如下三个:
注:如果只出现了前两个,则说明选择报表时没有自动选择数据源,这时要自己手动添加对应的数据源,如下。
在选择数据源实例时,要注意不要只选中数据集,而是要选到具体的表,否则在后面的代码部分将点不出对应的Fill()方法。
绑定好之后,进行进一步的配置:
点击在数据集设计器中编辑查看后,出现下面的界面。右击Fill,GetData()进行配置操作。
点击配置后,出现配置向导界面,再点击‘查询生成器’按钮。
出现如下界面,可以根据需要勾选自己所需的字段,同时也可以在sql语句处添加where条件。
4、代码实现
using Microsoft.Reporting.WinForms; //引用
private void Form1_Load(object sender, EventArgs e) { this.reportViewer1.RefreshReport(); }
private void btnCheck_Click(object sender, EventArgs e) { //获取日期控件的参数 string strBegin = dtpBeginTime.Value.ToShortDateString(); string strEnd = dtpEndTime.Value.ToShortDateString(); //实例化 ReportDataSource rptDataSource = new ReportDataSource(); //设置报表数据源名称 rptDataSource.Name = "DataSet1"; //设置报表数据源实例 rptDataSource.Value = T_CheckOutBindingSource; //获取或设置嵌入报表的资源的名字 this.reportViewer1.LocalReport.ReportEmbeddedResource = "report.Report1.rdlc"; //清空报表 this.reportViewer1.LocalReport.DataSources.Clear(); //添加数据源 this.reportViewer1.LocalReport.DataSources.Add(rptDataSource); //传递参数 this.T_CheckOutTableAdapter.Fill(Co_JF_ChargeSystemDataSet.T_CheckOut,strBegin ,strEnd); //刷新报表 this.reportViewer1.RefreshReport(); }
5、效果
总结:
在整个过程中,我用的是通过绑定获取数据的方法,代码编写比较简单。但再前期的报表的创建和配置的过程中,我认为容易出错的地方是报表控件的配置过程,还有在sql语句写where条件时,注意前后参数的名称的一致性,各种错误的有可能出现,如:本地报表处理期间出错,尚未为数据源DataSet1提供数据实例等,耐心和细心是比较重要的,同时注意代码编写的过程数据源名称,实例等地方的赋值要与前面的配置时所起的名字对应。
- 机房收费系统合作版——周结账单之报表
- 【机房收费系统——报表与vb交互之日结账和周结账】
- 机房收费系统之周结账单
- 机房收费系统之周结账单
- 机房收费系统—日结账单
- 机房收费系统问题集(5)——报表(日结,周结账单)
- 机房收费-报表之日结账单
- 【机房收费系统】周结账单报表实现
- 机房收费系统之结账与报表
- 机房收费系统—结账
- 机房收费系统—结账
- 机房收费系统—结账
- 机房收费系统—结账
- 机房收费系统—结账
- 合作版机房收费系统——报表
- 机房收费系统——报表(日结账)
- 【机房收费系统】日、周结账单
- 机房收费之结账,报表
- 【Spring】Service 注入失败,空指针
- hdu 1505 City Game(最大子矩阵)
- Java SE 基础:集合(2)
- 自定义控件之SeekBar —— 我点灯 XSeekBar
- 使用自定义指令的方式实现导航class的切换(另有正则的知识点)
- 机房收费系统合作版——周结账单之报表
- A1099. Build A Binary Search Tree (30)
- V8 虚拟机的GC机制
- 1060. Are They Equal (25)PAT甲级
- 即使没有读者,你也应该写博客 (You should blog even if you have no readers)
- hdu 2571 命运(简单dp)
- 在AWS上部署Django+MySQL+Nginx+uwsgi
- Linux基本学习(1)
- centos7 cmake的模块