كيف يمكن تقييد صيغة ادخال البيانات في dbgrid
#1
مرحبا اخواني الاعزاء...
كيف يمكن لي ان احدد صيغة البيانات التي سوف يتم ادخالها الى dbgrid مثلا عندي حقل تاريخ او حقل رقم و اريد ان امنع المستخدم من ادخال التاريخ بصورة خاطئة في dbgrid حيث انا استخدم dbgrid  لادخال و تحرير البيانات
الرد
#2
اذا كان الحقل رقمي فلن تستطيع ادخال حروف ، هذا يحدث اوتوماتيكيا سواء في DBgride او اي DBcontrol اما صيغة التاريخ فيمكنك ذلك من نافذة خصائص الحقول في الجدول تحديد الـ FormatField او الـ Mask او ما شابه

عن طريق الجدول نفسه
PHP كود :
TFloatField(MyDs.FieldByName('Cost')).DisplayFormat := '0.00'; 

عن طريق الاداة

PHP كود :
procedure TFormMain.DBGridCompareDrawDataCell(Sender: TObject;
 
 const Rect: TRect; Field: TField; State: TGridDrawState);
begin
  if Field
.Name = 'FIELDNAME' then
    TFloatField
(Field).DisplayFormat := '#,##0.00';
end; 
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
الرد
#3
(19-06-2018, 04:19 PM)Delphi4Us كتب : اذا كان الحقل رقمي فلن تستطيع ادخال حروف ، هذا يحدث اوتوماتيكيا سواء في DBgride او اي DBcontrol اما صيغة التاريخ فيمكنك ذلك من نافذة خصائص الحقول في الجدول تحديد الـ FormatField او الـ Mask او ما شابه

عن طريق الجدول نفسه
PHP كود :
TFloatField(MyDs.FieldByName('Cost')).DisplayFormat := '0.00'; 

عن طريق الاداة

PHP كود :
procedure TFormMain.DBGridCompareDrawDataCell(Sender: TObject;
 
 const Rect: TRect; Field: TField; State: TGridDrawState);
begin
  if Field
.Name = 'FIELDNAME' then
    TFloatField
(Field).DisplayFormat := '#,##0.00';
end; 

اخي العزيز لم يعمل الكود عندي اذا ممكن طريقة اخرى ولكن بصورة اوضح مثلا كود يمنع المستخدم من ادخالةصورة غير صحيحة للتاربخ و يظهر له رسالة بالعربية يخبره بذلك طبعا هذا كله داخل عنصر dbgrid
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم