快帮帮我!(50分)

  • 主题发起人 主题发起人 jadeking
  • 开始时间 开始时间
J

jadeking

Unregistered / Unconfirmed
GUEST, unregistred user!
如何控制qrdbtext到一定宽度自动换行!
我试了它的wordwrap属性,和autostretch属性,好像不行嘛?
各位大虾,请帮帮我!
 
这几个属性要组合设置的具体我记不得了,你自己再试一试,肯定行
AUTOSIZE 设置为FALSE
ASUTOSTRETCH 设置为TRUE
WORDWRAP设置为TRUE

奇怪,怎么问了两次
 
这几个属性要组合设置的具体我记不得了,你自己再试一试,肯定行
AUTOSIZE 设置为FALSE
ASUTOSTRETCH 设置为TRUE
WORDWRAP设置为TRUE

奇怪,怎么问了两次
 
笑兄,我试过了,这样不行啊?
 
打印事件中自己写,自己写,很Easy的。
 
以上说的真不行吗不可能吧
真的不行的话参照如下代码吧
不好意思这段代码被贴了三次了
真有点骗分的嫌疑.

参照如下代码(N年前写的,比较烂)
在ONPRINT里调用
function TForm_LineOperationNote.GetOperationStep(const Ticket_id : integer): string;
var
Query: string;
Step_no: integer;
Step_Desc: widestring;
s: widestring;
s1,s2: widestring;
begin

with CDS2do

begin

Close;
Query:='select * from DB2USER.OPTIC_STEP where TICKET_ID='+inttostr(Ticket_id)+' order by STEP_NO';
Provider.DataRequest(Query);
Open;
First;
while not eofdo

begin

Step_no:=fieldbyname('STEP_NO').asinteger;
Step_Desc:=fieldbyname('STEP_DESC').asstring;
s1:= Step_Desc;
if Length(s1)<= 55 then

begin

s:=s+inttostr(Step_no)+' '+Step_Desc+chr(13)+chr(10)+
'-------------------------------------------------------------------------------------------------------------------'
+chr(13)+chr(10);
end;

if Length(s1)>55 then

begin

s1:=copy(Step_Desc,1,55);
s2:=copy(Step_Desc,56,Length(Step_Desc)-55);
s:=s+inttostr(Step_no)+' '+s1+chr(13)+chr(10)+
'-------------------------------------------------------------------------------------------------------------------'
+chr(13)+chr(10)
+' '+s2+chr(13)+chr(10)+
'-------------------------------------------------------------------------------------------------------------------'
+chr(13)+chr(10);
end;

next;
end;

close;
end;

Result := s;
end;

 
我也遇到这个问题,从数据库出来的数据只有日期型的可以自动换行其他类型的都不行.
我的做法是用QRRichText然后在DetailBand1的BeforePrint事件中写代码(如下:)
procedure TForm1.DetailBand1BeforePrint(Sender: TCustomQuickRep;
var PrintReport: Boolean);
begin

QRRichText1.Lines.Clear;
QRRichText1.Lines.Strings[0]:=quiery1.fieldbyname('field1').asstring;
end;
 
多人接受答案了。
 
后退
顶部