关于用dephi6自带的quickreq控件进行按条件强制分页的问题 (30分)

  • 主题发起人 主题发起人 winmax
  • 开始时间 开始时间
W

winmax

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在要用dephi6自带的quickreq控件进行按条件强制分页,例如:我现在有一张书库存表,里面有一个名为"学生专业"字段和"书库存数量"字段,现在我要进行打印,但要求是按"学生专业"这个字段进行分组强制分页,当一个学生专业打印完后要新起一页进行另外一个专业的打印,也就是强制分页...怎样实现呢?
上面的问题已得到基本上的解决,是通过分组功能实现的,但最后一步是:我要在每一页都要显示每个分组后的统计结果,也就是说每一页显示自己专业的所有库存数,怎样实现呢?
我尝试在翻页事件中写一段程序来统计并显示,但不知道quickreq这个控件的翻页(下一页和上一页)事件在哪里,有哪位大侠有这方面的经验,望能赐教!!!
 
笨辦法,但實用:
查詢時: order by "學生專業"字段
列印時: 在detailband的BeforePrint事件中,將數據集往后滾動一條,取得"學生專業"字段的值,然后將數據集回滾一條,將剛取得的"學生專業"的值和當前值比較,如相同,則forcenewpage:= false;
否則forcenewpage:= true
 
TO dx2527:
我试过了,但只能一页显示一条记录,明明是同一个专业的,但还是分开了..我是先把数据加到clientdataset里面,然后再quickreq.prepare,quickreq.preview的,然后在detailband的beforeprint事件中,
var zymc:string;//专业名称
begin
kcbdyf.clientdataset1.First;
zymc:=kcbdyf.clientdataset1zymc.Value;//先赋初值
repeat
if kcbdyf.clientdataset1zymc.Value<>zymc then
//从一第条向后检查
begin
kcbdyf.DetailBand1.ForceNewPage:=True;//相同则另起一页显示
zymc:=kcbdyf.clientdataset1zymc.Value;//初始化变量
end
else
kcbdyf.DetailBand1.ForceNewPage:=False;
kcbdyf.clientdataset1.Next;
until kcbdyf.clientdataset1.Eof;
end;

数据表本来9条记录,有三个专业,本应该以三页/每页三条数据来显示,但不知道为什么出来的效果就只有显示最后一条数据!
望能赐教~~
 
我现在要用dephi6自带的quickreq控件进行按条件强制分页,例如:我现在有一张书库存表,里面有一个名为"学生专业"字段和"书库存数量"字段,现在我要进行打印,但要求是按"学生专业"这个字段进行分组强制分页,当一个学生专业打印完后要新起一页进行另外一个专业的打印,也就是强制分页...怎样实现呢?
上面的问题已得到基本上的解决,是通过分组功能实现的,但最后一步是:我要在每一页都要显示每个分组后的统计结果,也就是说每一页显示自己专业的所有库存数,怎样实现呢?
我尝试在翻页事件中写一段程序来统计并显示,但不知道quickreq这个控件的翻页(下一页和上一页)事件在哪里,有哪位大侠有这方面的经验,望能赐教!!!
 
怎么没有人回应呢?
高手们都跑去哪里啦?
 
唉......最后居然是自己解决了!
 
我解决的方法是用TGROUP控作为分组,+主从表的关系来解决的.
谢谢上面有心的发言人!
结贴~~~
 
接受答案了.
 
后退
顶部