معلومات

كيفية تغيير التلوين في مكون TDBGrid

كيفية تغيير التلوين في مكون TDBGrid

تؤدي إضافة ألوان إلى شبكات قاعدة البيانات الخاصة بك إلى تحسين المظهر وتمييز أهمية صفوف أو أعمدة معينة داخل قاعدة البيانات. سنفعل ذلك من خلال التركيز على DBGrid ، والذي يوفر أداة واجهة مستخدم رائعة لعرض البيانات.

سنفترض أنك تعرف بالفعل كيفية توصيل قاعدة بيانات بمكون DBGrid. أسهل طريقة لإنجاز ذلك هي استخدام معالج نموذج قاعدة البيانات. اختر employee.db من الاسم المستعار DBDemos وحدد جميع الحقول باستثناء EmpNo.

أعمدة التلوين

أول شيء وأسهل ما يمكنك القيام به لتحسين واجهة المستخدم بصريًا هو تلوين الأعمدة الفردية في الشبكة التي تدرك البيانات. سننجز هذا من خلال خاصية TColumns في الشبكة.

حدد مكون الشبكة في النموذج واستدع محرر الأعمدة بالنقر المزدوج على خاصية أعمدة الشبكة في كائن المفتش.

الشيء الوحيد المتبقي هو تحديد لون خلفية الخلايا لأي عمود معين. للحصول على لون مقدمة النص ، راجع خاصية الخط.

تلميح: لمزيد من المعلومات حول محرر الأعمدة ، ابحث عن محرر الأعمدة: إنشاء أعمدة دائمة في ملفات المساعدة دلفي الخاص بك.

تلوين الصفوف

إذا كنت ترغب في تلوين الصف المحدد في DBGrid ولكنك لا ترغب في استخدام خيار dgRowSelect (لأنك تريد أن تكون قادرًا على تحرير البيانات) ، فيجب عليك بدلاً من ذلك استخدام حدث DBGrid.OnDrawColumnCell.

يوضح هذا الأسلوب كيفية تغيير لون نص في DBGrid:

إجراء TForm1.DBGrid1DrawColumnCell
(المرسل: TObject ؛ CONST المستقيم:
DataCol: عدد صحيح العمود: TColumn.
الحالة: TGridDrawState) ؛
ابدأ
إذا Table1.FieldByName ( 'الراتب). AsCurrency> 36000 ثم
DBGrid1.Canvas.Font.Color: = clMaroon.
DBGrid1.DefaultDrawColumnCell
(المستقيم ، DataCol ، العمود ، الدولة) ؛
النهاية;

إليك كيفية تغيير لون صف في DBGrid:

إجراء TForm1.DBGrid1DrawColumnCell
(المرسل: TObject ؛ CONST المستقيم:
DataCol: عدد صحيح العمود: TColumn.
الحالة: TGridDrawState) ؛
ابدأ
إذا Table1.FieldByName ( 'الراتب). AsCurrency> 36000 ثم
DBGrid1.Canvas.Brush.Color: = clWhite.
DBGrid1.DefaultDrawColumnCell
(المستقيم ، DataCol ، العمود ، الدولة) ؛
النهاية;

خلايا التلوين

وأخيرا ، إليك كيفية تغيير لون الخلفية من خلايا أي عمود معين ، بالإضافة إلى النص اللون الأمامي:

إجراء TForm1.DBGrid1DrawColumnCell
(المرسل: TObject ؛ CONST المستقيم:
DataCol: عدد صحيح العمود: TColumn.
الحالة: TGridDrawState) ؛
ابدأ
إذا Table1.FieldByName ( 'الراتب). AsCurrency> 40000 ثم
ابدأ
DBGrid1.Canvas.Font.Color: = clWhite.
DBGrid1.Canvas.Brush.Color: = clBlack.
النهاية;
إذا DataCol = 4 ثم // العمود الرابع هو "الراتب"
DBGrid1.DefaultDrawColumnCell
(المستقيم ، DataCol ، العمود ، الدولة) ؛
النهاية;

كما ترون ، إذا كان راتب الموظف أكبر من 40 ألف ، يتم عرض خلية الرواتب باللون الأسود ويتم عرض النص باللون الأبيض.


شاهد الفيديو: 012-Changing DBGrid Cells and Rows Color in Delphi تغيير لون خانات ال DBGrid في الدلفي (أغسطس 2021).