请问为什么在报表中不能自动折行!(30分)

  • 主题发起人 主题发起人 dae
  • 开始时间 开始时间
D

dae

Unregistered / Unconfirmed
GUEST, unregistred user!
请问各位都用什么做报表,我用dephi6里的qreport为什么不能自动折行。。。。
 
1、用F1BOOK做报表不错
2、用EXCEL也是一个不借的选择,qreport比起这两项功能差的太多了
 
1、用F1BOOK做报表不错
2、用EXCEL也是一个不借的选择,qreport比起这两项功能差的太多了
 
F1BOOK是什么,在哪里有下载啊?你说的1、2有简单的例子吗?
 
f1book是自带的控件,是一个ACTIVEX控件
 
QReport 3.06 可以实现折行
 
fastreport可以
 
fastreport那里有下载?
 
你可以去www.51delphi.com下载~~~fastreport做报表很不错的。很方便!不用去画线,
能实现自动换行!
 
我下载fr了正在使用。
 
qreport对中文的换行不好使,要自己写代码控制。
 
kcgee,要怎么写呢
 
先设定Label的AutoStretch为True,然后在OnPrint事件中写如下代码:
procedure TForm1.QRDBText5Print(sender: TObject;
var Value: String);
var
bExit : boolean;
iLen : integer;
strSource, strTemp : string;
begin
//36是栏宽。
if Length(Value) <= 36 then
exit;

strSource := Value;
Value := '';
//防止截断汉字。
while true do
begin
iLen := 1;
while iLen < 36 do
begin
if ord(strSource[iLen]) > 128 then
inc(iLen, 2)
else
inc(iLen);
end;
dec(iLen);
strTemp := Copy(strSource, 1, iLen);
//加回车。
if Value = '' then
Value := strTemp
else
Value := Value + #13 + strTemp;
strSource := Copy(strSource, iLen + 1, Length(strSource) - iLen);
if Length(strSource) <= 36 then
begin
Value := Value + #13 + strSource;
exit;
end;
end;
end;
这样就搞定。给分吧!
 
我在REPORTBUILDER中使用以上程序,不接受#13
 
REPORTBUILDER中,请使用ppDBMemo.适当调整后,就可以自动折行。什么都不用管!
 
有API函数可以用!
 
下载QuickReport的折行补丁吧
 
后退
顶部