ورود

View Full Version : سوال: چاپ دو گزارش در يك صفحه A4



rahjoya
دوشنبه 30 دی 1387, 14:35 عصر
با سلام
يك گزارشي درست كردم كه بايد در هر صفحه A4 از آن گزارش دو تا چاپ شود يكي بالاي صفحه و يكي پايين صفحه.گزارش داراي قسمتهاي مختلف مانند page header , pagefooter, detail است كه به اندازه نصفه كاغذ A4 طراحي شده و در هر قسمت بر اساس نياز برنامه نويسي شده. آيا راه حلي براي اين كار هست؟

mafazel
دوشنبه 30 دی 1387, 16:25 عصر
با سلام
فکر می کنم باید دو تا QucikRep استفاده کنید و سایز هر کدام (عمودی) را نصف A4 تعیین کنید و طراحی تون رو توی اونها انجام بدید (Header,Footer,Detail). بعد با QRCompositeReport اون دوتا رو موقع اجرا بهم بچسبونید. البته باید مطمئن باشید که هر کدوم بیشتر از یک صفحه نمی شوند.

vcldeveloper
دوشنبه 30 دی 1387, 16:55 عصر
اندازه کاغذ را روی حالت Custom بزارید، و خودتان طول و عرض کاغذ را برای ابزار گزارش گیری تان مشخص کنید، بطوری که طول و عرض داده شده نصف یک صفحه A4 باشد. اگر از فست ریپورت استفاده می کنید و قصدتان تقسیم عمودی صفحه هست، می تونید برای گزارش خودتان دو یا چند Column داشته باشید.

rahjoya
چهارشنبه 02 بهمن 1387, 07:43 صبح
با سلام
شايد من سوالم را خوب عنوان نكردم. الان مشكل من در تقسيم بندي صفحه نيست. در اين است كه در هر دو قسمتي كه در يك صفحه گزارش دارم page header, page footer,detail نياز دارم تا يكسري كدنويسي را انجام دهم اما در يك صفحه گزارش فقط يكبار ميشود اين عناصر را آورد در حاليكه من براي هردو قسمتي كه در يك صفحه هست اين اجزا را ميخواهم.

mafazel
چهارشنبه 02 بهمن 1387, 10:24 صبح
با سلام
فکر می کنم هر دو بار سوالتون رو به خوبی بیان کردید. یک بار دیگه هر دو جواب بالا رو مرور کنید.
اگه بازم حل نشد بگید تا بیشتر توضیح بدیم.

rahjoya
شنبه 05 بهمن 1387, 14:16 عصر
با تشكر از راهنماييتان
CompositeReport را در اين تاپيك جستجو كردم تنها چيزي كه پيدا شد پاسخ شما(mafazel) بود به سوالي مشابه، در help دلفي هم چيزي برام نياورد البته فكر ميكنم help دلفي من مشكل داره و نسخه خوبي نيست. ميشه منو راهنمايي كنيد كه چطوري از compositeReport استفاده كنم؟ البته اونو در qreport ديدم ولي نميدونم كه بايد چه چيزهايي را براش تنظيم كنم.آيا در event مربوط به onaddreport گزارش دوم را previewكنم كافيست؟

mafazel
یک شنبه 06 بهمن 1387, 11:31 صبح
با سلام
دو تا QuickRep جدا در یک فرم بگذارید و طراحی هریک را جداگانه انجام دهید. بعد یک QRCompositeReport در فرم اصلی بگذارید و در دابل کلیک آن (رویداد OnAddReports) کدی مثل زیر رو بنویسید:


QRCompositeReport1.Reports.Add(form2.QuickRep1);
QRCompositeReport1.Reports.Add(form2.QuickRep2);

بعد هم در دکمه پیش نمایش چاپ دستور ; QRCompositeReport1.Preview را بنویسید. چیز خیلی خاصی هم برای تنظیم کردن ندارد.
البته CompositeReport بیشتر برای گزارشات Master-Detail استفاده می شود. حالتی که شما گفتید را آزمایش کردم به راحتی نمی شود. مثلا باید به جای PageHeader از Title و بجای PageFooter از Summery استفاده کنید یکم هم دردسر تنظیم کردن داره.
در کل QuickReport خیلی حرفه ای نیست.

rahjoya
یک شنبه 13 بهمن 1387, 13:43 عصر
سلام
مراحلي را كه گفته بوديد انجام دادم اما مشكلي كه هست اينه كه گزارش چند صفحه اي است و من ميخواهم براي هر ركورد در هر صفحهA4 دو تا قسمت چاپ شود اما الان در اول گزارش يكبار Title گزارش اول را مياورد بعد همه ركوردها را، و بعد summary و بعد Titleگزارش بعدي و ....
با يك مثال خواستمو ميگم: در نظر بگيريد كه ميخواهيم مشخصات مدارس يك شهر را بر اساس مناطق بياوريم.
page header: نام شهر و منطقه اي كه مدرسه در آن است ميايد.
Detail: نام يك مدرسه و يكسري مشخصات آن ميايد.
page footer: نام مدير مدرسه و ناظم مدرسه ميايد.
اين گزارش در ابعاد نصف A4 تنظيم ميشود. كه ميخواهم عينا در پايين صفحه A4 هم همين اطلاعات، مربوط به همين مدرسه عينا بيايد
اما كاري كه من انجام دادم نتيجه اش اين شده كه: title گزارش اول مياد بعد تمام ركوردهاي نام و مشخصات همه مدرسه ها(نه فقط يك مدرسه) و بعد summary گزارش اول. بعد title گزارش دوم مياد، ركوردهاش و summary آن.
آيا راه حلي براي رسيدن به نتيجه مورد نظر من هست؟