开发工具与关键技术:VS C#
撰写时间:2019年 4月 26日
我们需要打印页面上的数据的时候可以使用水晶报表这个插件来实现,那么肯定是先安装这个插件,怎样判断是否按照成功,在项目文件夹中点击新建项就可以知道了。安装完成就可以设计报表模板了,在设计模板格式的时候要特别细心。每次打印出来的表头的数据字段是不会改的,详细资料里的数据就会自动循环判断页面的数据,页脚的页数在打印的时候也会自动的判断去设计。在主报表设计好格式之后可以到主报表预览那边看到打印出来的效果,不满意还可以继续设计。
设计好打印的模板就可以到控制器那定义这个方法了,为了用户可以查询全部数据也可以筛选部分数据打印,所以也做了一个查询的操作。查询出一个集合的类型,把查询的数据绑定给数据集的数据表里,注意还不可以把查询出来的数据直接赋值给这个数据集的数据表里,要它转换为DataTable类型
DataTable dt = LINQToDataTable(listAchiement);
要给这个数据表赋值的步骤如下:
第一步:实例化数据集
printReport.ReportDB myDB = new printReport.ReportDB();
第二步:将dt的数据放入数据集的数据表中
myDB.Tables["具体的某一张表"].Merge(dt);
第三步:实例化报表模板,再把数据给到这个报表模板
AchievementReport rp = new AchievementReport();
第四步:获取报表物理文件地址
string strRptPath = System.Web.HttpContext.Current.Server.MapPath("~/")
+ "Areas\\Exami