سلام
چطور میشه هنگام گزارش گیری وقتی یک فیلد مثل نام طولانی هست برنامه بیاد آن فیلد را بشکنه و چند خطی کنه نه اینکه هر چی جا نشد را نشان نده.(با استفاده از Quick Report)
Printable View
سلام
چطور میشه هنگام گزارش گیری وقتی یک فیلد مثل نام طولانی هست برنامه بیاد آن فیلد را بشکنه و چند خطی کنه نه اینکه هر چی جا نشد را نشان نده.(با استفاده از Quick Report)
از این کد میشه در QRSubDetail1BeforePrint استفاده کرد ولی مشکل اینجاست که بعضی وقت بین خطوط فاصله می ندازه. یا اینکه بعضی از کلمات را کامل نشان نمیده.کد:Canvas.Font:=QRDBText18.Font;
W:=Canvas.TextWidth(QRDBText1.DataSet.FieldByName(QrDBText1.DataField).AsString);
H:=Canvas.TextHeight(QRDBText1.DataSet.FieldByName(QrDBText1.DataField).AsString);
QRDBText1.Height:=Ceil(w/QrDBText1.Width)*H);
Sender.Height:=QRDBText1.Top+QRDBText1.Height
دوست عزیز.
باید خاصیت WordWrap رو توی DBLable برار True کنی. اینجوری توی چند خط میشکنی و به این شرط که اندازه DBLabel بزرگ باشه تا بتونه توی خط پائین نمایش بده. وگرنه دوباره یک تیکه از اون دیده نمیشه.
خاصیت Wordwrap =trueهست.خطوط را می تونه بشکنه ولی درست کار نمی کنه. مشکل هر چی هست از کد هست ولی نمی دونم چطور درستش کنم.
پیشنهاد من استفاده از WRLabel هست.
اینجوری خودش خیلی راحت عمل میکنه و به نظر من نیازس به Canvas.Draw نیست.
دوباره سلام.متوجه شدم که کار شکستن را درست انجام میده ولی اندازه ارتفاع QRDBText را نمی تونه تنظیم کنه.
چطور باید ارتفاع را تنظیم کرد؟