View Full Version : نمایش نام فیلد ها بصورت فارسی در FastReport
ariobarzan
چهارشنبه 22 اردیبهشت 1395, 17:32 عصر
با سلام
آیا راهی برای نمایش نام فیلد ها بصورت فارسی در FastReport وجود داره ؟
منظورم فیلد های متصل شده به گزارش هست.
ممکنه نام یک فیلد را انگلیسی یا فینگلیسی توی یک Table طراحی کرده باشیم توی دیتا بیس
حالا وقتی مثلا یک کوئری را به یک گزارش متصل می کنیم و میخواهیم به کاربر اجازه طراحی گزارش را بدیم چیزی که بعنوان فیلد می بینه و میتونه بزاره روی صفحه گزارش همون اسم فیلدهای واقعیه که ممکنه خیلی جالب نباشه
ولی اگر فیلد با هر نام را بتونیم بصورت یک نام مستعار به کاربر نشون بدیم خیلی کاربر پسند تر میشه
نمیدونم تونستم منظورم را برسونم یا نه
ممنون
benyaminrahimi
شنبه 25 اردیبهشت 1395, 11:08 صبح
فست ریپورت معمولا frxdataset فیلد هارو مقدار دهی میکننه که با دابل کلیلک کردن در زمان طراحی متونین معادل نویسی کنید
hadisalahi2
دوشنبه 27 اردیبهشت 1395, 19:09 عصر
فست ریپورت معمولا frxdataset فیلد هارو مقدار دهی میکننه که با دابل کلیلک کردن در زمان طراحی متونین معادل نویسی کنید
حالا اگه
frxdataset در زمان طراحی باز نبود چی؟
فیلدها رو نشون نمیده
اون موقع باید چیکار کنیم
یا اینکه تعداد فیلدها متغیر باشه
benyaminrahimi
سه شنبه 28 اردیبهشت 1395, 10:27 صبح
من برای مقدار دهی داینامیک کپشن فیلد ها در فست ریپورت تو پروزمون همچین چیزی نوشتم
procedure tpatern.frlink(linker: TfrxDBDataset);
var
i: Integer;
begin
linker.FieldAliases.Clear;
for i := 0 to Linker.DataSet.FieldCount - 1 do
if patern.substr_exist(Linker.DataSet.Fields[i].DisplayLabel, 'id') = False
then
linker.FieldAliases.Add(Linker.DataSet.Fields[i].FieldName +
'=' + Linker.DataSet.Fields[i].DisplayLabel);
linker.Enabled := true;
end;
ariobarzan
سه شنبه 28 اردیبهشت 1395, 20:54 عصر
با سلام و تشکر از توجه شما
من یک چیز به ذهنم رسید که موقع نوشتن کوئری فیلدها را Rename کنم یعنی مثلا بجای نوشتن
select Name From Personel بنویسم From Personel نام select Name as
بعد اونو توی فست ریپورت بحالت طراحی باز کردم دیدم که نام فیلد فارسی شده:لبخند:
فقط به یک مشکل جدید برخوردم
اگر نام فارسی دو کلمه باشه خطا میده یعنی مثلا بجای Family بخوام بنویسم نام خانوادگی
راه حلی برای این مشکل هست؟
ariobarzan
سه شنبه 28 اردیبهشت 1395, 21:01 عصر
سلام مجدد
با یک جستجوی اینترنتی راه حل را پیدا کردم
کلمات فارسی مورد نظر را بین [ ] بنویسیم حله:لبخند:
from personel [ نام خانوادگی ] select Family as
hadisalahi2
چهارشنبه 29 اردیبهشت 1395, 09:57 صبح
این روش خیلی کار آمد نیست
چون اکثرا پروسیجرها قبلا در بانک نوشته شده و اینکه همه رو بخوایم بازنویسی کنیم وقت زیادی می طلبه
hadisalahi2
چهارشنبه 29 اردیبهشت 1395, 09:59 صبح
من برای مقدار دهی داینامیک کپشن فیلد ها در فست ریپورت تو پروزمون همچین چیزی نوشتم
میشه دقیقا بگی کجای فست این پروسیجر رو فراخوانی میکنی
و اگه امکانش هست در مورد پروسیجرت هم یک کم توضیح بدی
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.