潜水很久,在网上很难找到动态生成报表的例子。包括FR(或QR)都是用已设置好的报表文件来显示数据报表,然而在实际应用中,一般项目包括太多的报表,90%的报表都是列表或分组报表形式,部分特殊报表再可以根据相应条件来处理。所以需要建立 一个公共报表处理模块来动态生成报表系统。这对于一个大型项目来说是必要的,并且任何项目也可以共用 。 本人以前使用QUICKREPORT做过这方面的报表,现在正在研究FR的功能,所以用FR3X做了一个例子,此例子在我机器上已通过(我是使用包的概念,没法给小的例子给大家),发给大家只是核心部分不是很清晰的代码(刚刚做好的,并非最终版本),相信高手是能看懂的(怎么看懂?猜呀,不好意思,没时间好好整理的)! 我理解动态报表的意思:后台有一个table来控制系统设置,比如打印机,页面等设置信息。另有表来保存打印的栏位设置信息。动态报表就是根据这些设置信息在Page页面上自动建立OBJECT,并设置数据联接系统,然后自动生成报表文件。至于取数据的处理,是由调用者处理生成的(调用者可以使用临时表,也可QUERY,并根据打印栏位信息生成)
此程序调用:先调用gPrepareRptData方面取得数据查询条件的SQL,也可以不要生成条件,但要调用先,因为此代码中有处理报表的内容(这种处理不太方便,以后再修改了),然后调用gShowListReport就OK了。
好了,做技术太久,一般不太会写文字。有这方面意见或建议或探讨方面的朋友可以给我发EMAIL:jasonmale@sina.com.cn. QQ:115760681(不会聊天) |