المشاركات : 51
المواضيع 26
:
: 18
الإنتساب : Oct 2016
مرحبا اخواني الاعزاء...
كيف يمكن لي ان احدد صيغة البيانات التي سوف يتم ادخالها الى dbgrid مثلا عندي حقل تاريخ او حقل رقم و اريد ان امنع المستخدم من ادخال التاريخ بصورة خاطئة في dbgrid حيث انا استخدم dbgrid لادخال و تحرير البيانات
المشاركات : 1,677
المواضيع 349
:
: 1,069
الإنتساب : Nov 2013
19-06-2018, 04:19 PM
(آخر تعديل لهذه المشاركة: 19-06-2018, 10: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;
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
المشاركات : 51
المواضيع 26
:
: 18
الإنتساب : Oct 2016
(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