1、rbPageHeader表头信息第一页不能显示?,每页如何显示:当前页/总页数?
2、rbPageFooter页脚信息最后一页不能显示?
3、rbDetail数据信息QRDBText固定了显示宽度与高度,随QRDBText信息的多少自动换行或缩小字体?
4、最后一页怎么合计rbDetail数据信息几列的数值?
2、rbPageFooter页脚信息最后一页不能显示?
3、rbDetail数据信息QRDBText固定了显示宽度与高度,随QRDBText信息的多少自动换行或缩小字体?
4、最后一页怎么合计rbDetail数据信息几列的数值?
rbPageHeader属性设置为True,每页可以用QRSysData统计当前页/总页数
2、rbPageFooter页脚信息最后一页不能显示? 在属性设置为True
3、rbDetail数据信息QRDBText固定了显示宽度与高度,随QRDBText信息的多少自动换行或缩小字体?
换行好像不行,受格子大小限制,字体大小可以自己设置.4、最后一页怎么合计rbDetail数据信息几列的数值? 把HasSummary属性设置为True,再加QRExpr统计.
我用的是Delphi7.0企业版
请问一下:
1与2是哪个属性?(我用的是:QRBand,并在它的BandType属性设置为rbPageHeader与rbPageFooter,你说的属性是指哪一个设置为True?)
QRSysData好像只能设置当前页,不知道总页数怎么设置?
当QRDBText信息里如"CG125-8磁电机"等信息,为什么只显示"CG125-",减号之后的内容就显示不出来了?
---用QRRichText,自己調整QRRichText.Height 和rbDetail.HeightrbDetailBeforePrint:
QRRichText.Lines.Text := Adoquery1.FieldByName('xxx').AsString;
QRRichText.Height := QRRichText.Lines.Count*18; //18每一行的高度
rbDetail.Height := QRRichText.Height;
1、首先,做一个函数控制字符串换行;
Function MitiLine (Str:String;N:Integer):String;
var L,I:Integer;
Strs:String;
Begin
L:=Length(Str);
L:=Round(L/N+0.5);
If L=0 Then
begin
Result:=Str;
Exit;
End;
For I:=1 To L Do Strs:=Strs+Copy(Str,N*(I-1)+1,N)+#13;
Result:=Strs;
End;
其中:Str是要控制的字符串,N是一行显示的字符数(注意汉字为双字符)。
2、然后,在报表打印前调用该函数。
如:
QRDBText1.Caption:=MitiLine(QRDBText1.Caption,24);
Preview;
这样就可以了。
procedure autochangerow(wide: integer;
var value: string);
var
temparr:array of string;
widelen,i,j:integer;
s:widestring;
begin
j:=1;
s:=value;
widelen:=length(s);
setlength(temparr,j);
temparr[0]:='';
for i:=1 to widelen do
begin
if length(temparr[j-1])+length(s[i])>wide then
begin
j:=j+1;
setlength(temparr,j);
temparr[j-1]:=s[i];
end
else
begin
temparr[j-1]:=temparr[j-1]+s[i];
end;
end;
s:='';
for i:=0 to length(temparr)-2 do
s:=s+temparr[i]+chr(13);
value:=s+temparr[length(temparr)-1];
temparr:=nil;
end;
在QRDBText的ONPRINT事件中写如下代码
procedure Tshaminputrptform.qrdbtxt_namePrint(sender: TObject;
var Value: String);
begin
autochangerow(39,value);
end;
函数中WIDE参数为一行长度,汉字不会乱码