DBTEXT怎样才可以换行 请教一下各位高手,在用Qreport做报表时,QRDbText怎样才可以换行呀!数据库字段类型是VARCHAR类的! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 尽可能在VARCHAR的字段的内容加上#10#13 你可以参考http://expert.csdn.net/Expert/topic/1314/1314396.xml?temp=.6958734http://expert.csdn.net/Expert/topic/1351/1351063.xml?temp=.9529535http://expert.csdn.net/Expert/topic/1265/1265250.xml?temp=.2919428http://expert.csdn.net/Expert/topic/1302/1302834.xml?temp=.9411737http://expert.csdn.net/Expert/topic/1282/1282681.xml?temp=.8808863不过,我自己试过TQRDBText(已经修改了里面QRCtrls单元中的AddWord过程)、QRmemo都不能解决自动换行的问题。我自己的解决方法如下:1.在需要显示换行的字段的地方用TQRMemo替代TQRDBText,并调整好TQRMemo的长度和宽度(显示字段的最大范围);2.在报表所在的Form上放一个TMemo控件,由它来负责解决换行问题,在TQRMemo所在的band的BeforePrint事件中写代码,具体如下var i: integer;begin memo1.lines.clear; TQRMemo.lines.clear; memo1.width:= TQRMemo.Width; memo1.lines.text:= ADODataSet1.FieldByName('字段名').AsString; for i:= 0 to memo1.lines.Count - 1 do QRMemo.lines.Add(memo1.lines.strings[i]);end;只要在需要的地方依上面的方法处理就行。 楼上的,修改QRCTRLS当然可以换行,我就已经修改成功,并且在我们公司的软件中有了很大的应用。。具体帖子的位置已经在楼上所列出的帖子 if length(qrdbtext1.Caption) > 10 then qrdbtext1.Caption:=copy(qrdbtext1.Caption,1,10)+' '+copy(qrdbtext1.Caption,11,length(qrdbtext1.Caption)-10); delphi2010为什么要装.net3.5框架 水晶报表作票据打印(续打),如何得到已经打印的高度 在D7中如何屏蔽word、EXCEL中右上角的 关闭按钮??某一个菜单? 在线程中打印报表 =======现金200大元求源代码!绝不食言!========== 把Action:=false的问题? 高手请指点delphi嵌入汇编的小问题(立即给分,不拿白不拿呀) 怎么将查询后显示在dbgrid中的内容全部都加到一个已经存在的表里去! 关于LISTVIEW组件拖拽的处理? ListView排序出错,帮我看看 不爽,在散分 关于当前系统日期的显示疑问,高手请进
http://expert.csdn.net/Expert/topic/1314/1314396.xml?temp=.6958734
http://expert.csdn.net/Expert/topic/1351/1351063.xml?temp=.9529535
http://expert.csdn.net/Expert/topic/1265/1265250.xml?temp=.2919428
http://expert.csdn.net/Expert/topic/1302/1302834.xml?temp=.9411737
http://expert.csdn.net/Expert/topic/1282/1282681.xml?temp=.8808863不过,我自己试过TQRDBText(已经修改了里面QRCtrls单元中的AddWord过程)、QRmemo都不能解决自动换行的问题。
我自己的解决方法如下:
1.在需要显示换行的字段的地方用TQRMemo替代TQRDBText,并调整好TQRMemo的长度和宽度(显示字段的最大范围);
2.在报表所在的Form上放一个TMemo控件,由它来负责解决换行问题,在TQRMemo所在的band的BeforePrint事件中写代码,具体如下
var
i: integer;
begin
memo1.lines.clear;
TQRMemo.lines.clear;
memo1.width:= TQRMemo.Width;
memo1.lines.text:= ADODataSet1.FieldByName('字段名').AsString;
for i:= 0 to memo1.lines.Count - 1 do
QRMemo.lines.Add(memo1.lines.strings[i]);
end;
只要在需要的地方依上面的方法处理就行。
qrdbtext1.Caption:=copy(qrdbtext1.Caption,1,10)+' '+copy(qrdbtext1.Caption,11,length(qrdbtext1.Caption)-10);