打印多个数据窗口,并且对数据的打印顺序有要求,如何实现?

xh308 2009-08-03 12:00:43
1.问题描述:
有很多学生信息,一个学生对应一张报名表和n类证件。
实际应用中,首先要选出符合条件的学生,
然后打印这些学生的报名表,各类证件。
2.要求:
(1)报名表和证件不能放在一个DW中,因为证件很多种类,用户可以随机选择打印一种或多种证件。
(2)不能分别打印,即不能先打印报名表,再打印证件1,再打印证件2...
因为要打印的学生数量很大,这样打印出来,还要按学生一一归类整理,工作量不小。
(3)理想的打印顺序如下:[证件种类可选]
[报名表1,证件11,证件21,...,证件n1;
报名表2,证件12,证件22,...,证件n2;
报名表3,证件13,证件23,...,证件n3;
......
报名表x,证件1x,证件2x,...,证件nx]

3.个人思路:
(1)设计多个数据窗口:d_data[报名表,freeform格式],d_p1[证件1],d_p2[证件2],...,d_pn[证件n]
(2)filter出符合要求的报名表和各类证件,并分别排序,使报名表和各类证件的先后顺序相一致。
(3)打印多个数据窗口。

可是不知道怎样实现打印多个数据窗口,用composite格式把d_data,d_p1,d_p2..组合后,不知道如何筛选数据,并且不知道如何按学生先后顺序一一打印。
...全文
118 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
xh308 2009-08-06
  • 打赏
  • 举报
回复
实际打印的时候,要求每一个证件占用一页。
xh308 2009-08-06
  • 打赏
  • 举报
回复
lzp_lrp,你好
我用report控件添加了子窗口,并设置了参数,确实可以达到预期的效果。
可是,此时又出现了一个问题,就是每一个学生的最后一个证件打印不完整,
看样子是DW的高度设置问题,如何解决呢?
特别感谢!
WorldMobile 2009-08-05
  • 打赏
  • 举报
回复
子数据窗口可以在数据窗口设计里选择report控件,然后选择一个数据窗口即可

动态创建组合报表,可以先创建一个组合报表,然后把语法export出来,分析一下,再动态生成即可
xh308 2009-08-05
  • 打赏
  • 举报
回复
好的,多谢,我试一下。。
xh308 2009-08-05
  • 打赏
  • 举报
回复
lzp_lrp
你说的不错,证件很多,如身份证,军官证,学生证等。。
你说的动态创建组合报表,能否给个简单的例子呢?
没有做过这个,不晓得如何操作。。
多谢!!
xh308 2009-08-05
  • 打赏
  • 举报
回复
xys_777,
我用的是PB65,我怎么在主DW中添加子DW呢?
难道是用DDDW?好像不对吧。。。
HVIVIP 2009-08-05
  • 打赏
  • 举报
回复
2楼很有道理
WorldMobile 2009-08-03
  • 打赏
  • 举报
回复
1.用组合报表来实现,不过需要动态创建,因为证件不同,需要用到不同的数据窗口,根据证件把数据窗口都做好,做N个数据窗口(假设证件为N个),然后动态创建数据窗口(组合报表来打印),组合报表每次只打印一个报名表,然后再动态创建,再打印下一个报名表

2.用数据窗口来实现,把数据窗口打印放在一个打印任务里(Job),先打开一个打印任务open用printdatawindow来打印,

long job

job = PrintOpen( )

// Each DataWindow starts printing on a new page.

PrintDataWindow(job, dw_1) //打印一个申请表

PrintDataWindow(job, dw_z1) //打印证件1

PrintDataWindow(job, dw_z2) //打印证件2

PrintClose(job)
永生天地 2009-08-03
  • 打赏
  • 举报
回复
组合报表中子表可以根据主表设置检索,打印的过程就循环检索主表学生


WorldMobile 2009-08-03
  • 打赏
  • 举报
回复
如果证件都是一样的话,你可以按xys_777的做法来实现

但我想证件应该是不一样的,如身份证,军官证,学生证等

如果你想打印预览的话,你可以用我说的第一种方法来实现
永生天地 2009-08-03
  • 打赏
  • 举报
回复
按我的做法可以全部预览

[Quote=引用 3 楼 xh308 的回复:]
楼上所述的第二种方法,是不是也要循环打印呢?
如何实现所选数据的打印预览呢?是不是一次只能预览一个学生的报名表和证件呢?
这样好像不太好。。
[/Quote]
xh308 2009-08-03
  • 打赏
  • 举报
回复
楼上所述的第二种方法,是不是也要循环打印呢?
如何实现所选数据的打印预览呢?是不是一次只能预览一个学生的报名表和证件呢?
这样好像不太好。。

609

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧