سلام
چطوري مي شه صفحه ديتاريپورت رو به صورت افقي طراحي كرد كه خطاي
(report width is larger then the paper width) رو نده !!!
Printable View
سلام
چطوري مي شه صفحه ديتاريپورت رو به صورت افقي طراحي كرد كه خطاي
(report width is larger then the paper width) رو نده !!!
سلام
مهم افقي يا عمودي بودن نيست
اين خطا وقتي داده ميشه كه عرض گزارش يعني ReportWidth + خاصيتهاي LeftMargine و RightMargine از عرض كاغذ چاپگر كه در كنترل پنل ويندوز تعريف شده، بيشتر شده باشه
براي اينكه بتونيد اينها رو حساب كنيد فرض كنيد قراره روي يك كاغذ A4 كه عرض 21 سانتي متر داره، گزارشي طراحي كنيم كه از چپ و راست 1 سانتي متر حاشيه داشته باشه يعني در كل 2 سانتي متر حاشيه و 19 سانتي متر عرض چاپ
ReportWidth = 19 * 566
LeftMargine = 1 * 566
RightMargine = 1 * 566
واحد پيشفرض اينچ هست و بنا به محاسبات انجام شده شما بايد عدد سانتي مترتون رو در 566 ضرب كنيد
اگر هم بخواهيم روي A4 بدون حاشيه چاپ كنيم مشخصات بايد اينطوري باشه
ReportWidth = 21 * 566
LeftMargine = 0
RightMargine = 0
سلام
ممنون ولي اگر تنظيمات خود پرينتر رو افقي كنيم ديگه اين پيغام داده نمي شه ولي اين تنظيمات بيرون از برنامه است و توسط هر كاربري ممكنه دستكاري بشه.
سلام
اگر افقي كنيد پيام نميده چون در اين حالت عرض چاپ شما به جاي 21 سانتي متر 29.7 سانتي متر ميشه و باعث ميشه كم نياره
راهش هموني هست كه نوشتم
ضمنا حالت كاغذ رو مي تونيد با دستور Printer.Orientation تغيير بديد كه 1 عمودي و 0 افقي ميشه