View Full Version : سوال: مشکل در گرفتن چند صفحه گزارش با هم در یک preview
meisamphp
یک شنبه 11 مهر 1389, 10:38 صبح
سلام ..
من از برنامه quick report استفاده میکنم ..
یه جای برنامه که برای چاپ رسید هستش ،، برنامه 4 عدد یا بیشتر ( بسته به کار ) باید گزارشی رو چاپ کنه که مقادیرش با هم فرق میکنه ..
حالا من برنامه رو طوری نوشتم که توی حلقه برنامه مقادیرو حساب میکنه و printpreview میکنه ..
مشکل اینجاست که تو برنامه تا printpreview اول رو کاربر close نکنه بعدی نمایش داده نمیشه ..
چی کار میتونم بکنم که تمامی این رسیدها پشت سر هم توی یک printpreview نمایش داده بشه .. و دیگه کاربر واسه پرینتهای بعدی close رو نزنه ..
ممنون میشم که کمکم کنید .. مرسی
meisamphp
دوشنبه 12 مهر 1389, 20:19 عصر
سلام .. هیچکس نیست بتونه کمکم کنه ؟؟
ممنون میشم اگه کمکم کنید ..
یا علی
mafazel
دوشنبه 19 مهر 1389, 09:54 صبح
سلام دوست عزیز
ظاهرا شما باید از QRCompositeReport استفاده کنید. برای این کار شما چند شیئ QuickRep می گذارید و صفحات چاپ جداگانه را طراحی می کنید. بعد یک شیئ QRCompositeReport جایی می گذارید و در رویداد OnAddReport آن فرم های چاپ را اضافه می کنید:
QRCompositeReport1.Reports.Add(QuickRep1);
QRCompositeReport1.Reports.Add(QuickRep2);
...
بعد هم در دکمه چاپ: PrnSanad.QRCompositeReport1.Preview;
یا علی
meisamphp
شنبه 24 مهر 1389, 14:07 عصر
سلام .. مرسی دوست عزیز که کمک می کنید ..
من آخر حلقه محاسبه ،، بعد از اینکه مقادیر حساب میشه و فرم آماده برای چاپ هستش کد زیر رو گزاشتم ..
Form9.QRCompositeReport1.Reports.Add(Form9.QuickRe p1);
و بعد از اینکه کار حلقه تمام میشه ،، این کد رو گزاشتم ..
Form9.QRCompositeReport1.Preview;
اما هنگام نمایش صفحه Preview که باز میشه توش هیچی نیست ..
ممنون میشم اگه دوباره کمکم کنید ..
mehdi.fni
سه شنبه 27 مهر 1389, 08:12 صبح
قبل از چاپ برنامه را trace کنید .
احتمال داره مقادیر یا dataset بسته شده باشه .
meisamphp
سه شنبه 27 مهر 1389, 13:39 عصر
سلام .. ممنون که کمکم می کنید ..
فکر نکنم برنامه ایرادی داشته باشه ،،
من اگه آخر همون حلقه که از دستور زیر استفاده کردم :
Form9.QRCompositeReport1.Reports.Add(Form9.QuickRe p1);
به جای دستور بالا ،، از دستور زیر استفاده کنم :
Form9.QuickRep1.Preview;
بعد از هر بار محاسبه در پایان حلقه ،، فرم بدون هیچ مشکلی نمایش داده میشه ..
یا علی ..
mafazel
پنج شنبه 29 مهر 1389, 10:07 صبح
سلام دوست عزیز
از اونجاییکه دیتابیس ایراد نداره و در Preview معمولی می بینید، احتمالا مشکل اینه که بعد از اینکه محاسبات و مقدار دهی فرم پرینت رو انجام دادید بلافاصله اونو AddReport می کنید!. همونطور که در پست اول گفتم این دستور رو باید در رویداد OnAddReport شیی QRCompositeReport بنویسید. این رویداد در زمان QRCompositeReport.Preview فراخوانی می شود.
meisamphp
پنج شنبه 29 مهر 1389, 18:50 عصر
سلام .. واقعاً ممنون که کمکم میکنید ..
دوست عزیز من آخر حلقه این دستور رو قرار دادم :
Form9.QRCompositeReport1AddReports(Form9.QuickRep1 );
و در رویداد OnAddReport مربوط به Qrcomposite دستور زیر رو قرار دادم ..
QRCompositeReport1.Reports.Add(QuickRep1);
و در آخر دستور Form9.QRCompositeReport1.Preview رو قرار دادم ،، اما موقعی که فرم رو نمایش میده ،، فقط قبض آخر رو نشون میده و در ضمن سایز صفحه رو هم تغییر میده ..
یا علی ..
mafazel
یک شنبه 02 آبان 1389, 10:13 صبح
سلام دوست عزیز
ظاهرا برداشت من درست نبوده! شما یک فرم گزارش دارید که می خواهید با مقادیر مختلف اونو مقدار دهی و چاپ کنید. در این حالت QRCompositeReport مناسب شما نیست. اون کامپوننت برای وقتیه که شما چند نوع فرم گزارش دارید و میخواهید اونها رو به اصطلاح به هم بچسبانید.
وقتی یک فرم گزارش دارید و می خواهید اون رو با مقادیر مختلف مقدار دهی کنید قاعدتا باید اون مقادیر مختلف (به قول شما 4 تا یا بیشتر) در یک Table یا Query باشند. شیئ QuickRep یک Property بنام Dataset دارد که یک Table یا Query را می گیرد و باند Detail را به ازای هر رکورد آن جدول تکرار می کند. حالا مثلا با استفاده از رویداد BeforePrint باند Detail محاسبات و مقدار دهی را انجام دهید. نهایتا هم با یک Preview مشکل حله!
یا علی مدد
latifi_y
سه شنبه 09 خرداد 1391, 11:08 صبح
دوست عزیز از راهنمایی های کردین سپاس گذارم عالی بود -
من می خوام تو یک فایل گزارش گیری دو تا فرم از پیش تعریف شده را تو دوتا صفحه طراحی کنم - یعنی به طور پیش فرض فرم گزارشگیری من شامل دوتا صفحه باشه و من اونا رو به صورت دستی طراحی کنم.
ممنون می شم کمک کنید
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.