جدا کردن سه رقم سه رقم TDBADVGrid
سلام دوستان
من می خواهم دو تا از فیلدهای یک گرید از نوع TDADVGrid از سری TMS را که مقدار آن مبلغ است به صورت سه رقم سه رقم جدا کننده بگذارم
با روش های ساده ای روی DBGrid این کار انجام میشه اما توی این کامپوننت رویداد OnDrawDataCell نداره!!!
چه راهی را پیشنهاد میکنید؟
procedure TFormMain.DBGridCompareDrawDataCell(Sender: TObject;
const Rect: TRect; Field: TField; State: TGridDrawState);
begin
if Field.Name = 'FIELDNAME' then
TFloatField(Field).DisplayFormat := '#,##0.00';
end;
نقل قول: جدا کردن سه رقم سه رقم TDBADVGrid
سلام. این کد جاش در دیتاسته نه گرید!
نقل قول: جدا کردن سه رقم سه رقم TDBADVGrid
آقای زالی عزیز به نظرتون بهترین راه برای اینکار با استفاده از DBADVGrid+FDQuery چیه؟
نقل قول: جدا کردن سه رقم سه رقم TDBADVGrid
اینه که در رویدادهایی مثل OnGetText مرتبط با فیلدتون، و یا فرمت نمایشی خود فیلد، این کار رو انجام بدید، هیچ ارتباطی به گرید مورد استفاده نداره.
یعنی جاش دقیقا بعد از لود فیلدهاست، نه در رویدادهای گرید.
1 ضمیمه
نقل قول: جدا کردن سه رقم سه رقم TDBADVGrid
ضمیمه 154083
اتفاقا این رویداد بر خلاف نظر شما دقیقا توی TDBGrid است!
من فکر میکنم DBADVGrid باید این قابلیت را داشته باشه اما پیداش نمیکنم! مثلا توی پروپرتیهایی که در جدول Properies نمایش داده نمیشه!
1 ضمیمه
نقل قول: جدا کردن سه رقم سه رقم TDBADVGrid
یعنی اگر به فرم مربوطه بیاییم DBText هم اضافه کنیم باید روی OnDraw اون هم کد بنویسیم؟!!
عجب!
کار رویدادی که شما دارید می گید رنگی کردن و آیکون گذاشتن و اینطور چیزهاست نه کار روی فیلد. این رویداد در اسکرول بارها ممکنه کال بشه، در کلیک کال می شه، در Repaint کال می شه، بعد روی همه اینها شما روی یک فیلد دارید کد می نویسید!
حالا شما دوست دارید با روش خودتون جلو برید طوری نیست. ممکنه من هم دوست داشته باشم همین کد رو بگذارم در رویداد OnShow فرم.
ضمنا رویدادی که اشاره بهش می کنید اصلا استفاده ازش توصیه نمی شه.
امیدوارم دیگه مارکو کانتو رو قبول داشته باشید:
نقل قول: جدا کردن سه رقم سه رقم TDBADVGrid
نقل قول:
نوشته شده توسط
یوسف زالی
یعنی اگر به فرم مربوطه بیاییم DBText هم اضافه کنیم باید روی OnDraw اون هم کد بنویسیم؟!!
عجب!
کار رویدادی که شما دارید می گید رنگی کردن و آیکون گذاشتن و اینطور چیزهاست نه کار روی فیلد. این رویداد در اسکرول بارها ممکنه کال بشه، در کلیک کال می شه، در Repaint کال می شه، بعد روی همه اینها شما روی یک فیلد دارید کد می نویسید!
حالا شما دوست دارید با روش خودتون جلو برید طوری نیست. ممکنه من هم دوست داشته باشم همین کد رو بگذارم در رویداد OnShow فرم.
ضمنا رویدادی که اشاره بهش می کنید اصلا استفاده ازش توصیه نمی شه.
امیدوارم دیگه مارکو کانتو رو قبول داشته باشید:
در مورد نظر شما بحثی ندارم، کاملا حق با شما است.
نقل قول:
نوشته شده توسط
یوسف زالی
اینه که در رویدادهایی مثل OnGetText مرتبط با فیلدتون، و یا فرمت نمایشی خود فیلد، این کار رو انجام بدید، هیچ ارتباطی به گرید مورد استفاده نداره.
یعنی جاش دقیقا بعد از لود فیلدهاست، نه در رویدادهای گرید.
رویداد OnGetText را در DBADVGrid یا FDQuery یا DataSource پیدا نمیکنم!
روش کار برام مهم نیست فقط یک خواسته دارم:
چگونه می توانم با استفاده از DBADVGrid+FDQuery فیلدهای مبلغ را سه رقم سه رقم جدا کنم؟
1 ضمیمه
نقل قول: جدا کردن سه رقم سه رقم TDBADVGrid
اینطوری نمی شه، نمونه کد رو ببین، اصلا شما کاری به این که چی داره نشونش می ده ندارید.
نقل قول: جدا کردن سه رقم سه رقم TDBADVGrid
نقل قول:
نوشته شده توسط
یوسف زالی
اینطوری نمی شه، نمونه کد رو ببین، اصلا شما کاری به این که چی داره نشونش می ده ندارید.
خودشه :تشویق::تشویق::تشویق:
خیلی متشکرم از پاسخگویی تون :قلب:
کارم راه افتاد
نقل قول: جدا کردن سه رقم سه رقم TDBADVGrid
توی DBADVGrid هم پیداش کردم!:قهقهه:
باید FloatFormat فیلدهای مورد نظر را 0.0n% بگذاریم!!
اینجا نوشتم شاید به درد بقیه هم بخوره