QReport 栏高随着折行增加的问题 |
尚未結案
|
Amanda_Chen
一般會員 發表:25 回覆:82 積分:21 註冊:2003-12-28 發送簡訊給我 |
|
Amanda_Chen
一般會員 發表:25 回覆:82 積分:21 註冊:2003-12-28 發送簡訊給我 |
终于解决了!总结一下,希望和大家做个交流:
思路一:在引用该报表的表单中用数组记录每条记录的行高,由该表单操作行高。结果该表单无法控制到每一行的改变,只能所有行给一个变数,既只改变一次,只好放弃! 思路二:在QReport中bandbeforeprint用expended来决断是否有折行现象,行高应为多少。结果由于对expended的类型不了解,无法决断出来,只好做罢
思路三:在引用该报表的表单中用数组记录每条记录的行高,传递给QReport.由QReport来做改变行高的动作。结果成立。
下面把关键代码列示出来:
procedure TForm14.QRBand2BeforePrint(Sender: TQRCustomBand;
var PrintBand: Boolean);
var iheight:integer;
begin
iheight:=strtoint(line.Strings[ttt]);//line为传递行高信息的使者
Form14.QRBand2.Size.Height:=85*iheight-
3;//这个-3很重要,如果QRBand的height与QRShape的一样的话,
//就会在报表显示时出现不期望的黑线。
Form14.QRShape1.Size.Height:=85*iheight;
inc(ttt);//ttt为全局变量传递行信息
end;
procedure TForm14.QuickRep1BeforePrint(Sender: TCustomQuickRep;
var PrintReport: Boolean);
begin
ttt:=0;//它是非常关键的一步。就因为找不到该把它放在哪里,费了大半天
//的时间.如果把它放在其它位置,会有让你莫名其妙的结果出现。
end;
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |