نقل قول: گزارش گیری گروهی
در اینجا جدول واحد ها میشه جدول Master و جداول هزینه ها میشن جداول Detail
باید یک MasterData داشته باشید برای نمایش اطلاعات واحد ها به عنوان جدول Master
قسمتهای سفید و زرد بالای صفحه رو هم باید در داخل MasterData قرار بدید
در زیر MasterData باید دو عدد DetailData قرار بدید برای نمایش جداول Detail
در زیر Detail ها، یک Footer قرار می دید و قسمتهای آبی و سفید پایین رو در داخل Footer میذارید
1 ضمیمه
نقل قول: گزارش گیری گروهی
نقل قول:
نوشته شده توسط
Mahmood_M
در اینجا جدول واحد ها میشه جدول Master و جداول هزینه ها میشن جداول Detail
باید یک MasterData داشته باشید برای نمایش اطلاعات واحد ها به عنوان جدول Master
قسمتهای سفید و زرد بالای صفحه رو هم باید در داخل MasterData قرار بدید
در زیر MasterData باید دو عدد DetailData قرار بدید برای نمایش جداول Detail
در زیر Detail ها، یک Footer قرار می دید و قسمتهای آبی و سفید پایین رو در داخل Footer میذارید
با تشکر فراوان از پاسختون. مشکل حل شد.
فقط یه مشکلی به وجود میاد.
footer آخر همه و بعد از دو detail هست. مشکل اینجاست که اگر مقدادیر detail2 (detail که بالای footer قرار داره) خالی باشه footer رو نمایش نمیده.
جالب اینجاست که اگر footer رو بین دو detail قرار بدیم (یعنی زیر detail1) اونوقت اگر detail1 خالی باشه footer رو نمایش نمیده.
به طور کلی اگر باندی که بالای footer قرار میگیره مقدار نداشته باشه دیگه footer نمایش داده نمیشه.
چرا این مشکل پیش میاد چه جوری باید این مشکل رو حل کرد؟
ممنون
نقل قول: گزارش گیری گروهی
در حالت عادی، عنصر Footer اگر DataBand ش خالی باشه، چاپ نمیشه
می تونید توی رویداد OnAfterPrint مربوط به MasterData ، خالی بودن Detail ها رو چک کنید و Footer رو نمایش بدید، مثال :
procedure MasterData1OnAfterPrint(Sender: TfrxComponent);
begin
if DetailData1.Dataset.recordcount = 0 then
Engine.Showband(Footer1);
end;
می تونید شرط بالا رو برای هر دو Detail تغییر بدید
راه دیگه استفاده از رویداد OnManualBuild هستش که البته کار باهاش یه خورده دردسر داره