ورود

View Full Version : درج عناصرفرم درمتن گزارش درfast report



amirkazem
یک شنبه 15 اسفند 1395, 08:44 صبح
باسلام
ابزارگزارش سازی که استفاده می کنیم، FastReport هست.
ازطریق یک فرم که رکوردهای بین محدوده دوتاریخ را(باADOQuery) به دست می آوریم. حالا درطراحی گزارش میخواهیم دربالای گزارش(Pageheader)یا (Reporttitle) همان 2تاکامپوننت تاریخ شمسی (مثلاً ازتاریخ 1395/12/14 لغایت 1395/12/15) راداشته باشیم.
یعنی درفرم جستجو هر محدوده تاریخ که جستجومی کنیم، همان دوتاریخ به صورت تکست دربالای گزارش باشند. درعکسهای ضمیمه مربوط به گزارش، چون ازتاریخ لغایت راازfrxdbdataset انتخاب کرده ایم، فقط همان رکورداولی رانشان میدهد.
درحالی که باید تاریخهای موجوددرفرم راداشته باشیم.
ممنونم ازدوستان که راهنمایی می کنند!

khoshblagh
یک شنبه 15 اسفند 1395, 13:10 عصر
با سلام
خوب میتونید همون 2 تاریخ را به صورت متغیر به گزارش بفرستید.

amirkazem
یک شنبه 15 اسفند 1395, 15:02 عصر
ممنون! تست میکنم.

amirkazem
یک شنبه 15 اسفند 1395, 15:12 عصر
var a,b:string;

a:=quotedstr(solardatepicker1.text)
b:=quotedstr(solardatepicker2.ext)




حالادرزمان نمایش گزارش دقیقاً بایدچکارکنیم؟

khoshblagh
یک شنبه 15 اسفند 1395, 16:34 عصر
با سلام
در رویداد getvalue شیی گزارش فست ریپورت مثل کد زیر عمل کن.
if VarName='strMah' then value:=mskMah.text;
if VarName='strSal' then value:=mskSal.text;
سپس در گزارش 2 ممو قرار بده و درون آنها هر کدام یکی از متغیرها را به شکل مثلا[strMah] بنویس . تمام
همانطور که ذر کد بالا می بینی من برای مثال ماه و سال را بطور جداگانه به فست فرستادم.

amirkazem
دوشنبه 16 اسفند 1395, 08:37 صبح
پس درنهایت کدهابه این شکل شد.(جهت استفاده سایردوستان)

procedure Treport_frm.BitBtn1Click(Sender: TObject);var startdate,enddate:string;
begin
frxReport1.ShowReport();
end;


procedure Treport_frm.frxReport1GetValue(const VarName: string;
var Value: Variant);
var startdate,enddate:string;
begin
if VarName='strstartdate' then value:=SolarDatePicker1.Text ;
if VarName='strenddate' then value:=SolarDatePicker2.Text;
end;

khoshblagh
دوشنبه 16 اسفند 1395, 17:26 عصر
پس درنهایت کدهابه این شکل شد.(جهت استفاده سایردوستان)

procedure Treport_frm.BitBtn1Click(Sender: TObject);var startdate,enddate:string;
begin
frxReport1.ShowReport();
end;


procedure Treport_frm.frxReport1GetValue(const VarName: string;
var Value: Variant);
var startdate,enddate:string;
begin
if VarName='strstartdate' then value:=SolarDatePicker1.Text ;
if VarName='strenddate' then value:=SolarDatePicker2.Text;
end;
باسلام
نیازی به تعریف متغیر (منظور کد قرمز رنگ) نیست.