delphi中使用Report Machine解决中式疑难报表
Report Machine是一套共享控件,适用于delphi3--6,BCB3--6中,就其功能而言,能做到著名的报表控件Fast Report能做到的,还能做到FR不能做到的,如最出色的屏幕打印功能(能打印wwdbgrid,Ehlib,F 1 Book等众多控件), Gridview控件(类似于excell电子表格的报表制作工具),自动折行适应大小等等。废话不多说了,咱们来看看这种疑难报表吧。
这是一张常见的中式报表(非数据内容都用粗体标出),它的格式没有任何的规律,却又是平时经常要用到的。
姓名 | 张三 | 性别 | 男 | 出生年月 | 1 967年05月0 1 日 | ||||||
籍贯 | 浙江丽水 | 担任职务 | 无 | ||||||||
工作单位 | 浙江省某公司 | ||||||||||
毕业学校及专业 | 浙江大学 计算机专业 | ||||||||||
工作简历 | 开始时间 结束时间 工作单位 1 989-7-5 1 997-6-7 xxxxx单位 1 997-6-7 xxxx公司 | ||||||||||
家属及社会关系 | 关系 | 姓名 | 出生年月 | 工作单位 | |||||||
父亲 | 张老三 | 1 953-2-4 | 在家务农 | ||||||||
母亲 | 李氏 | 1 956- 1 2- 1 | 在家务农 | ||||||||
哥哥 | 张二 | 1 966- 1 -2 | xxxxxxxxx公司 | ||||||||
弟弟 | 张四 | 1 972-8-9 | xxxxxxxxx单位 | ||||||||
|
|
|
| ||||||||
|
|
|
| ||||||||
说明:表的内容来自于三张表,个人资料表,工作经历表和家属表,方便起见,我们假设三张表中都已经有了表格中需要的字段,数据库类型与结构就不多说了。下面我们就开始做报表吧。
分析:在这张表格中,个人资料的格式相对简单,最复杂的是家属关系的格式,它的表格行数是定死的,在这里是6行,多一行少一行都不行的哦。其次是工作简历的格式,它是在一个大框中放入的记录集,而且要有标头的说明。最次是左侧的边条,用过Quick Report和Fast Report的初学者们都知道,一旦放入了左侧这样的边条,似乎报表就无从做起了。
不用急,等偶用Report Machine捅破这层窗户纸时,大家就会发现:原来也是如此简单!用Fast Report的兄弟也不用急,我介绍的方案是兼容FR的,在FR中可以按相同的思路来进行。
//由于图片比较多,我还在写下篇,请大家等等,过几天就可以写完了。RM的下载在:www.pcjingning.com