水晶报表的使用

开发工具与关键技术:MVC,jQuery
作者:LJR
撰写时间:2019年 4 月 24 日

1.上一次,我们在做水晶报表的时候,做到了把表的模板化出来了,那么要打印一张表出来,还需要部分的处理。画完表后,来到控制器写一个方法把IEnumerable类型的集合转化为DataTable类型,首先定义要返回的DataTable对象,然后用PropertyInfo保存列集合的属性信息数组,return dtReturn是做一个安全性的检查。做完安全性检查后就使用反射获取类型的属性信息。如果oProps是等于null,那就循环PropertyInfo数组,在这里要获取属性的类型。
在这里插入图片描述

  1. 假如属性类型为泛型类型,那么就用if语句去获取泛型类型的参数,然后将类型的属性名称的属性类型作为DataTable的列的数据。反射获取类型的属性信息后,新建一个用于添加到DataTable中的DataRow对象,再用一个foreach循环为DataRow中的指定列赋值最后将具有结果值的DataRow添加到DataTable集合中返回DataTable的对象。这个将IEnumerable类型的集合 转换为DataTable类型的方法就写好了。

在这里插入图片描述

  1. 写好LINQToDataTable的方法后,那么在写一个方法查询数据,把数据相对应填入表格里面。那么在查完数据之后, 记得要将listResult转化为DataTable类型数据。接下来:
    第一步:实例化数据集(myDB)
    第二步:将dt的数据放入数据集的数据表格中
    第三步:实例化报表模板(rp)
    第四步:将获取报表物理文件地址
    第五步:把报表文件加载到ReportDocument
    这五步是很重要的,写完这五步后呢,然后就设置报表数据源(myDB),最后把ReportDocument转化为文件流的方式返回方式输出。
    在这里插入图片描述

  2. 写好方法之后,来到视图这里给打印按钮一个点击事件。在点击的时候,调用这个方法。在传递数据是需要参数,所以要对参数进行赋值。打印数据时,如果判断到打印的是全校的数据,因为全校的数据是很庞大的,最好给用户一个提示,当用户确认打印全校的数据时,打开一个新的页面显示的是打印数据表样式。
    在这里插入图片描述

(代码来自于老师!)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值