关于报表设计中的换行问题!!(50分)

  • 主题发起人 主题发起人 qinyu1979
  • 开始时间 开始时间
Q

qinyu1979

Unregistered / Unconfirmed
GUEST, unregistred user!
我在设计报表时,由于字段的内容过长,所以造成用qrdbtext取字段内容超过了用shape定义的表格,如何
让它能够不超出范围内呢?或者有其他的构造表格的方法,我用的是quickreport。
 
使用QrRichEdit,然后动态判断行数,根据行数决定DatailBand的高度。
 
好像不行吧,qrrichtext好像只能用于处理rtf格式的文本啊
要不你说详细一点?
 
//函数定义
Function AdjustAssistContract(txt:TQRDBText;intPos:integer;var Value:string):string;//调整外协合同
//调整外协合同报表显示位置
function TfrmXKReport1.AdjustAssistContract(txt:TQRDBText;intPos:integer;var Value:string):string;
var
strTmp:string;
intTmp:integer;
begin

strTmp:=Trim(value);
intTmp:=Length(strTmp);
if intTmp>intPos then
begin
if ByteType(strTmp,intPos)=mbLeadByte then
Result:=Copy(strTmp,1,intPos-1)+#10#13+Copy(strTmp,intPos,intTmp-intPos+1)
else
Result:=Copy(strTmp,1,intPos)+#10#13+Copy(strTmp,intPos+1,intTmp-intPos);
txt.top:=5;
txt.Height:=28;
if blnDetailAssistContractFlag then
exit;
DetailBand3.Height:=42;
QRShape39.Top:=35;
QRShape26.Height:=65;
QRShape27.Height:=65;
QRShape28.Height:=65;
QRShape29.Height:=65;
QRShape30.Height:=65;
QRShape31.Height:=65;
QRShape32.Height:=65;
QRShape33.Height:=65;
QRShape34.Height:=65;
QRShape35.Height:=65;
QRShape36.Height:=65;
QRShape37.Height:=65;
blnDetailAssistContractFlag:=true;
end
else
begin
Result:=strTmp;
txt.top:=5;
txt.Height:=14;
if blnDetailAssistContractFlag then
exit;
DetailBand3.Height:=24;
QRShape39.Top:=21;
QRShape26.Height:=50;
QRShape27.Height:=50;
QRShape28.Height:=50;
QRShape29.Height:=50;
QRShape30.Height:=50;
QRShape31.Height:=50;
QRShape32.Height:=50;
QRShape33.Height:=50;
QRShape34.Height:=50;
QRShape35.Height:=50;
QRShape36.Height:=50;
QRShape37.Height:=50;
end;

end;

//调用
procedure TfrmXKReport1.QRDBText28Print(sender: TObject;
var Value: String);
begin
value:=AdjustAssistContract(QRDBText28,26,value);
end;
 
procedure TfrmXKReport1.DetailBand3BeforePrint(Sender: TQRCustomBand;
var PrintBand: Boolean);
begin
blnDetailAssistContractFlag:=false;
if DM.DMManage.adodtJointSum.RecNo=DM.DMManage.adodtJointSum.RecordCount then
QRShape39.Pen.Width:=2;
end;
 
怎么查看里面的讨论内容呢?对不起,我是新手,[:(][?]
 
qrrichtext和QRDBRichText1都可以显示普通文本。
 
QRDBRichText1不能在QReport中显示普通文本,可以在prev之前给它
赋值,但如何让每条记录都能正确显示,特别是用了friter后,我就
不知道了,也希望各位高手能解答。
 
qrrichtext和QRDBRichText1怎么显示普通文本啊??我怎么弄都不行呢
to sunliguo:
你说的在prev赋值,这样有什么用呢?
 
to yzhshi
你能否具体点,怎么动态判断啊??最后写点源码啊
 
多人接受答案了。
 
后退
顶部