请问用QuickRep控件制作报表时,QRDBRichText2怎么根据QRDBRichText1的长度而自动后移?(50分)

  • 主题发起人 大灰狼
  • 开始时间

大灰狼

Unregistered / Unconfirmed
GUEST, unregistred user!
如题,我用QuickRep制作报表,在上面放置了几个QRDBRichTexQRDBRichTextT控件
其数据是从数据库读取的,因为每个QRDBRichText的长度不固定,所以后面的
QRDBRichText要根据前者的长度而自动往下移,在预览时要可以看到效果。
请指点。
 
你可以在打印此两个dbrichtext的地方用一个richtext替代,在query的 after scoll中
将dbrichtext1,dbrichtext2, ...的内容合并到richtext中(richtext.lines.add())
 
aspire:你所说的方法有一定的道理,可有一些不足:
1: DBRichtext没有Visual属性,这样就需要再建
  一个Form与QuickRep,以便读取数据库的内容。
2: 一个RichText中的字体可以不同吗?我想在里面再加一个'QTabel',
  以不同的颜色与字体显示。可以实现吗?
 
不知你所谓“DBRichtext没有Visual属性,这样就需要再建
  一个Form与QuickRep,以便读取数据库的内容。“是何义,
你的数据源若放在QUICKREP所在FORM上,就在该UNIT上的
adoquery( or query, or talbe)的after scrool中写,不需任何
附加的FORM;
procedure TPrtPOfrm1.ADOQuery1AfterScroll(DataSet: TDataSet);
begin
QRRichText1.Lines.Add(adoquery1.fieldbyname('remarks').value);
QRRichText1.Lines.Add('注意:');
QRRichText1.Lines.Add(' 1.出口产品非客户指定, 免标示商标。');
QRRichText1.Lines.Append(' 2.出口产品有标示厂商商标者,承制厂商同意授权"唐维(香港)有限公司"(以下简称唐维公司)出口使用,并需提供授权,');
QRRichText1.Lines.Append(' 商标注册证及相册资料,如厂商另使用改良商标涉有仿冒者,与"唐维公司"无关。');
QRRichText1.Lines.Append(' 3.厂商制造之产品供"唐维公司"出口者,有关国内外专利权等责任,均由厂商自行负责,与"唐维公司"无关。');
QRRichText1.Lines.Append(' 4.本订单非经"唐维公司"同意不得更改,任何更改,须经"唐维公司"有权签章人员签章同意始有效。');
QRRichText1.Lines.Append(' 5.除"唐维公司"之允许外,所有产品及包装须有"Made in China"之标志。');
QRRichText1.Lines.Add(adoquery1.fieldbyname('sidemark').value);
QRRichText1.Lines.Add(adoquery1.fieldbyname('mainmark').value);
end;
对于2,好象无法在一个RICHTEXT中出现多种字体和颜色。不过按
字面理解,RICHTEXT应当有此特性。
 
接受答案了.
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
顶部