تعیین شرط برای نمایش یا عدم نمایش یک فیلد در فست ریپورت
با سلام
فرض کنیم من در یک جدول دو فیلد از نوع Bit و nvarchar داشته باشم و و این جدول رو توی یک فرم گزارش فست ریپورت نشون بدم
کاری که میخوام انجام بشه اینه که موقع چاپ رکورد ها شرط صفر و یا یک بودن فیلد bit رو چک کنم. اگه صفر بود محتوای فیلد nvarchar نشون داده بشه و اگه یک بود بجای اون مقدار دلخواه من نمایش داده بشه.
چطور میتونم این کار رو انجام بدم؟
ممنون
نقل قول: تعیین شرط برای نمایش یا عدم نمایش یک فیلد در فست ریپورت
سلام.
می تونید کوئریتون رو اصلاح کنید یا می تونید در قالب یک فیلد calculated این کار رو کنید یا می تونید در OnGetText فیلد متنی تون شرط رو اعمال کنید.
در خود فست هم می تونید این کار رو کنید که باید در BeforePrint کد بنویسید. ساده ترینش اضافه کردن یک فیلد calculated به دیتاستتونه.
نقل قول: تعیین شرط برای نمایش یا عدم نمایش یک فیلد در فست ریپورت
ممنون از توجه شما
اگه ممکنه در مورد ی که فرمودید ( در خود فست هم می تونید این کار رو کنید که باید در BeforePrint کد بنویسید. ) بیشتر توضیح بدید . چون من دقیقا بدنبال همین موضوع هستم. ممنون
نقل قول: تعیین شرط برای نمایش یا عدم نمایش یک فیلد در فست ریپورت
فست ریپورت برای هر شی نمایشی از جمله متنی که متصل به داده می شه رویداد هایی داره مثل OnBeforePrint که در اون می تونی مشخصات رو دستکاری کنی.
کافیه برای شی تون این رویداد رو انتساب داده و در اون کد بنویسید.
نقل قول: تعیین شرط برای نمایش یا عدم نمایش یک فیلد در فست ریپورت
مشکل من هم تو همین قسمته . من خروجی یک کوئری رو میفرستم توی فست ریپورت . توی رویداد OnBeforePrint ظاهرا که نمیشه شرط یک فیلد از همون رکورد رو چک کرد یا حداقل من بلد نیستم.
وقتی می نویسم :
if adoquery1.fieldvalues['field1']=true then memo1.text='My text
جواب نمیده ظاهرا ارتباط با کوئری برقرار نیست بجای adoQuery1 هم از FrxDb که اتصال کوئری با فست رو برقرار میکنه هم استفاده کردم ولی باز نشد
چه دستوری باید بجای خط بالا در رویداد OnBeforePrint نوشته بشه که محتوای فیلد مورد رو چک کنه؟
ممنون بخاطر توجه شما
نقل قول: تعیین شرط برای نمایش یا عدم نمایش یک فیلد در فست ریپورت
در سورس FastReport می خوانیم:
procedure TfrxCustomMemoView.BeforePrint;
begin
inherited;
if not IsDataField then
FTempMemo := FMemo.Text;
end;
حدس می زنم یعنی اجازه دست کاری در این متد برای ممو های چسبیده به فیلد داده نمی شه.
در عوض باید از رویداد OnAfterData استفاده کنید.
مثال:
with TfrxMemoView(Sender) do
if Value = 2 then
Text := 'this is number two';
نقل قول: تعیین شرط برای نمایش یا عدم نمایش یک فیلد در فست ریپورت
مشکلت حل نشد دوست من؟
بگید که اگر حل شده دوستانی که با سرچ بهش می رسن هم بدونن.