当前位置:主页>销售管理软件> 列表

新手问题,QuickRep的使用,100分求助 找会员管理软件免费版

仓库管理软件版1楼: 我现在要做一张报表格式如下:
第一页 第N页 最后一页
------------ ------------ ------------
|表头 | | |表头 | | |表头 | |
------------ ------------ ------------
| 数据 | | 数据 | | 数据 |
| | | | | |
------------ ------------ ------------
| 表尾 |
------------

请问用QuickRep怎样做这个报表。
数据是由dataset生成,具体有多少页未知。

2楼: 在quickrep中有一个报表组控件,要不就是报表容器,什么名字记不清可,你可以把多张报表放到这个容器里,打印时可一次按序打出 如免费进销存管理系统

3楼: 几种Bands里面,表头用Column Header,数据用Detail,表尾用Summary

4楼: TO:PSPFans
按你的方法做出来的结果是
第一页 第N页 最后一页
------------ ------------ ------------
|表头 | | |表头 | | |表头 | |


------------ ------------ ------------
| 数据 | | 数据 | | 数据 |
| | | | | |
------------
| 表尾 |
------------

还差一点点,请指教。

5楼: PSPFans的对。哪里差一点点了?我怎么看着完全一样……

6楼: 也就是每一页的底部少一条线。

我的结果是
----------------
数据行
数据行
数据行
---------------
如果是这样:
-----------------------
数据行
-----------------------
数据行
-----------------------
数据行
-----------------------
那就很简单了。

还请各位帮帮忙,怎么做。

仓库管理软件版7楼: 每种band的frame自己设一下属性 ,要上划线还是下划线都没问题

8楼: 那也不难啊
再加一个Page Footer到底下,选择DrawTop=true,表头那个Column Header就DrawBotton咯。而Detail的上下都不用Draw~

9楼: 那也不难啊
再加一个Page Footer到底下,选择DrawTop=true,表头那个Column Header就DrawBotton咯。而Detail的上下都不用Draw~



这样做,在最后一页的下面又多了一条线啊。

10楼: 要消除最后一页的那行,也有一个办法,就是在Page Footer的BeforePrint事件里面,如果检测到是最后一页的话,就PageFooterBand1.Frame.DrawTop := false;
而要知道哪一页是最后一页好象是要在进行预览之前计算的,网上比较多相关资料,可以找找看~

11楼: to:PSPFans
小弟找了半天也找不到怎么做,能不能都告我啊。

12楼: 这个问题,我也没碰到过,知道的话,我在回你。。不好意思~ 如会员管理软件免费版

13楼: 在quickrep.Create后,Preview之前调用Prepare过程,然后读取它的quickrep.Printer.PageCount就行了,当变量传进去。

仓库管理软件版14楼: 再请问一下,在打印的时候需不需要作这个判断呢?

15楼: 正在用这个做报表,正好学习一下

16楼: quickrep.Create(self);
quickrep.Prepare;
quickrep.iCount := quickrep.Printer.PageCount; //iCount为自定义的Public变量
quickrep.Preview;

procedure TQuickRep.Page Footer.PageFooterBand1BeforePrint(Sender: QRCustomBand; var PrintBand: Boolean);


begin
if iCount = quickrep.Printer.PageCount then
PageFooterBand1.Frame.DrawTop := false;
end;

17楼: 用报表容器可以做

18楼: 接受答案了.