报表的Detail行本来是根据记录数自动伸缩的,我想固定其高度,应该怎样实现?
在报表的Detail行里,其高度是根据记录数的多少自动调整的,现在我想固定其行数
为12行,即无论记录数是多少,在一页的报表里显示的Detail行数总是为12行,怎样
才能实现?
问题点数:0、回复次数:6Top
1 楼zhangqiufk(真言)回复于 2003-09-01 19:07:42 得分 0
gzTop
2 楼kaiping(小张)回复于 2003-09-02 09:04:53 得分 0
怎么没人能够回答呀?
另外我要清楚的是,我在Detail行里的记录数最多也不会超过12行,顶多也就是10行左右,
少则2行到3行,但我想固定高度为12行,应该怎样做?Top
3 楼WWWWA(aaaa)回复于 2003-09-02 09:08:10 得分 0
你的意思是否是不满一页用空格填满?Top
4 楼kaiping(小张)回复于 2003-09-02 11:18:44 得分 0
是呀,就是用空行填满一页,将其固定为12行。Top
5 楼sundayzhao(皮皮虾)回复于 2003-09-02 15:01:17 得分 0
自己做,detail行打印的时候在quickreport的onneeddata中写程序。每次固定12条记录。具体可以看delphi的例子中有个OnNeedData的例子就可以了。Top
6 楼WWWWA(aaaa)回复于 2003-09-02 15:07:02 得分 0
将所有显示部分改为QRLABEL
inc(i);//i是一個全局變量
//qr不要設置dataset(即為空),BeforePrin裡面dataset.first;//設置為第一記錄
//在onneeddata裡面,
//因為以前搞過,都過了比較久了,你試試看看行不行
if not ADOQuery1.Eof then
begin
QRLabel2.Caption:=ADOQuery1.Fields[1].AsString;
QRLabel3.Caption:=ADOQuery1.FieldByName('SL').AsString;//+ADOQuery1.FieldByName('DW').AsString;
ADOQuery1.Next;
if i<=20 then
MoreData:=true
else
begin
QuickRep1.NewColumn;
i:=0;
MoreData:=true;
end;
end
else
begin
QRLabel2.Caption:='';
QRLabel3.CaptioN:='';
if i=20 then
MoreData:=false;
end;
Top




