FastReport的使用方法

就是在创建数据库连接的时候是使用xml的形式连接。后端还是用SqlSugar插件查询数据库,但是返回的是DataTable类型的数据,这个报表的xml数据库,其实也有数据,但是这里我们就是用了他的这个报表格式(样式),主要是在vs2017中要把这个报表设置成“如有较新则复制”。

然后 ,这个第一个是架构文件,不用填

第二个是数据文件,这里就是需要xml格式的数据库文件。

那问题来了,要怎么获取数据库的xml格式的数据库文件呢????

在这里我是借用了Navicat数据库可视化的工具。

我的做法是,在里连接sqlserver 数据库,然后在这里导出xml格式的数据库。把这个导出的数据库xml在第二个数据文件地方选择它。

注意:这里如果是xml文件,那这个数据不就是固定的不变,显然这样是不行的,所以这里有很重要的一步。在项目中的报表位置选择属性,把这个“复制到输出目录”选择为“如果较新则复制”

接下来就是这个后端的代码编写了,这个报表无非就是两个问题,一个设计(样式),一个是数据源。设计时候给xml的数据格式,相当于是样式,实际显示是用后端查询的dataTable类型的数据。

这里之前有个坑 ,就是这个dataTable的名字问题,这里的

这个后面的名字不是随便填的,而是设计报表的时候,这个报表的名字,现在这个是默认的名字,用的这个就行,但必须要保持一致。不然,这个报表读取的就是设计时候,的xml里的数据,这点很重要,踩坑了。

可以大概看见,我这个数据库的数据时五条,这个报表的数据也是5条,之前,就是这个名字没有填,导致一直读的xml里的数据,不能和数据库同步。

还有一个问题,现在这个是显示的页面的数据,如果我用模糊查询的结果,打印出来还是不能同步。

是因为我的后端还是没有把这个关键字放进去。

这里有三种方案解决:

  1. 我想办法获取到这个名字的关键字tempName,然后在后端打印报表的方法里直接通过这个关键字查询返回DataTable类型的数据。
  2. 我可以获取到之前在页面上显示的数据,不过他们都是List<Student>的类型,我可以吧这个集合转换成DataTable类型。
  3. 和方案2类似,我是在方案2的那个查询方法里添加一个sqlsugar查询,不过这个是根据关键字查结果,直接返回DataTable类型。

但是这个方案2.3都有一个问题,我的这个查询的结果是在查询显示的方法里的,而我现在做的是报表打印,这是个报表打印方法,我怎呢在后端在报表打印方法里取到查询方法里的结果?????就是后端之间的调用??可以通过公共的变量实现???

最终方案:我是通过方案1实现的,方案2.3有点困难。尝试了没有成功。

现在点击打印报表按钮的时候,获取到输入的关键字或者没有输入时是空值。然后,我是通过url传值到后端的报表打印的方法中去的。

在后端接收:

然后就是一个简单的判断,看是否输入的有关键字??然后返回view。

效果展示:

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个指南让你熟悉报表设计器和了解报表设计的基本概念(各种区域,数据源,二次表,等等)。指南将帮助你开始用FastReport创建报表,但它不能告诉你怎样使用其它基本的报表设计器。 如果你不熟悉报表设计器,我们建议你参考QuickReport的帮助系统。QuickReport的指南已经包含在你的Delphi拷贝中。QuickReport的大部分基本概念也适用于FastReport,然而,FastReport能提供更多的弹性和最终用户的自定义。 关于FastReport的说明 FastReport是高弹性的报表设计器,用于报表的数据可以从任何类型的数据源获取,包含字符列表,BDE数据库,ADO数据源(不使用BDE),Interbase(使用IBO),Pascal数组和记录,以及一些不常用的数据源。 整个FastReport系统是用Delphi的Pascal编写的。FastReport不需要动态链接库,但需在你的项目中占用大约400kb(Delphi 5)。如果你想最终用户拥有设计能力,这将在你的.EXE中增加大约500kb。虽然这看上去比较大,但这只是其它设计的几分之一。你同样应该考虑到FastReport不仅仅只是包含最终用户更改报表设计的能力,还能够适应查询和数据库的变化。FastReport还包含自己的脚本语言,让应用程序和最终用户能够更容易地改变报表。如果你的大部分应用使用FastReport,你可以简单地配置FastReport BPL(大约1400kb)而所有你的应用程序只需要保留很少的一部分。 你可以发现FastReport有一个非常吸引人的用户界面,使用最新的用户界面组件,例如可停靠的工具栏。你的最终用户将会非常愿意使用这个设计器,只需使用鼠标就可以创建大多数报表。 FastReport是名副其实的快速报表:较其它一些Delphi报表设计器而言,你可以发现没有什么可以接近于它的开发速度。报表预览窗口一直是大多数报表设计器的弱点,高品质的外观,赋于你的应用程序非常专业的用户界面。 FastReport是一个已经拥有三年历史的非常成熟的报表设计器,成长使它拥有其它Delphi报表设计器所不能相比的诸多先进特性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值