50分求教delphi7的quickreport问题
发布网友
发布时间:2022-05-13 23:48
我来回答
共2个回答
热心网友
时间:2023-11-08 23:07
如果是简单的行列式报表,还是有办法的,检测要显示的记录数,如果记录条数可以挤一挤,排在一张纸上,比如一张纸可以排30条记录,目前排了三十条,还剩下二三条,这样就可以挤一挤了,方法是第一降低行高,也就是你在上面排列字段值显示组件的那一行,这行的高度是可调的,也决定整个表格的高度,然后把表格横线向上相应的提一下。
检测记录数,降低高度,改变横线的位置,反这些代码写在 QuickRep1.Preview代码之前。就可以了,你搞的那些代码不要了。用不那么复杂。
如果是横向压缩就没有必要了,因为这只是一个报表手动设计问题。
至于究竟要降低多少高度,可以挤多少条记录,这完全是一个个人见识问题,比如我认为可以挤进10条,而你认为可以挤进15条。这个要凭个人的感觉,软件用户的要求。
热心网友
时间:2023-11-08 23:08
liu55721的办法是手工修改,与提问者的要求不符。
原程序中执行 PrintReport.previewBtnClick(Sender); 这一句是重入函数,等于QuickRep1 Prepare了两次。
可以这样改:
1、在QuickRep1.Prepare;一句下面加上一行 Label _Next:
2、将PrintReport.previewBtnClick(Sender);一句改为 goto _Next;