خلية الأنماط في عرض شبكة البيانات Windows Forms عنصر تحكم
كل خلية داخل DataGridViewعنصر تحكم يمكن أن يكون النمط الخاص به، مثل تنسيق نص ولون الخلفية، لون المقدمة والخط. بشكل عام، على الرغم من ذلك، سوف عدة خلايا يجعله مشتركًا سمات النمط معين.
قد تضمين مجموعات من خلايا التي تشترك في أنماط الجميع خلايا في محدد صفوف أو أعمدة أو الجميع خلايا التي تحتوي على قيم محددة أو الجميع خلايا في عنصر تحكم. لأنه يتراكب مع هذه المجموعات، ربما لكل خلية يحصل معلومات styling به من مكان واحد أو المزيد. على سبيل المثال، قد تحتاج كل خلية في DataGridViewعنصر التحكم إلى استخدام نفس خط، والخلايا في أعمدة العملة فقط إلى استخدام تنسيق العملة، والخلايا العملة فقط مع الأرقام السالبة إلى استخدام لون المقدمة اللون الأحمر.
فئة DataGridViewCellStyle
DataGridViewCellStyleفئة يحتوي على الخصائص التالية المتعلقة إلى النمط المرئي:
هذه الفئة أيضا على الخصائص التالية المتعلقة إلى التنسيق:
للحصول تشغيل مزيد من المعلومات حول هذه خصائص والنمط خلية غير ذلك خصائص، راجع DataGridViewCellStyleالوثائق المرجعية والمواضيع المسرودة في مقطع "انظر أيضاً" أدناه.
استخدام الكائنات DataGridViewCellStyle
يمكنك استرداد DataGridViewCellStyleالكائنات من متعددة خصائص من DataGridView، DataGridViewColumn، DataGridViewRow، و DataGridViewCellوفئات بها فئات مشتقة. إذا كان واحد هذه خصائص لم يتم تعيين، استرداد قيمتها سيقوم بإنشاء جديد DataGridViewCellStyleالكائن. يمكنك أيضا إنشاء الخاصة بك DataGridViewCellStyleالكائنات وتعيينها لهذه الخصائص.
يمكنك تجنب تكرار المعلومات النمط غير الضرورية بمشاركة DataGridViewCellStyleالكائنات بين عدة DataGridViewالعناصر. Because the أنماط التعيين at the عنصر تحكم, عمود, و صف levels عامل تصفية أسفل through each المستوى إلى the خلية المستوى, you can also avoid النمط duplication بواسطة إعداد فقط those النمط خصائص at each المستوى that differ من the levels above. This هو described في المزيد detail في the النمط توريث مقطع that follows.
The following جدول lists the primary خصائص that يحصل أو التعيين DataGridViewCellStyle الكائنات.
الخصائص |
الفئات |
الوصف |
---|---|---|
DefaultCellStyle |
DataGridView, DataGridViewColumn, DataGridViewRow, و derived فئات |
Gets أو sets الافتراضي أنماط used بواسطة الجميع خلايا في the entire عنصر تحكم (including عنوان خلايا), في a عمود, أو في a صف. |
Gets أو sets الافتراضي خلية أنماط used بواسطة الجميع صفوف في the عنصر تحكم. This does not تضمين عنوان خلايا. |
||
Gets أو sets الافتراضي خلية أنماط used بواسطة alternating صفوف في the عنصر تحكم. Used إلى إنشاء a ledger-مثل effect. |
||
Gets أو sets الافتراضي خلية أنماط used بواسطة the عنصر تحكم's صف رؤوس. Overridden بواسطة the الحالي سمة if visual أنماط are ممكّن. |
||
Gets أو sets الافتراضي خلية أنماط used بواسطة the عنصر تحكم's عمود رؤوس. Overridden بواسطة the الحالي سمة if visual أنماط are ممكّن. |
||
DataGridViewCell و فئات مشتقة |
الحصول أو تعيين أنماط محددة على المستوى خلية. هذه أنماط تجاوز فيها الموروثة من المستويات الأعلى. |
|
InheritedStyle |
DataGridViewCell, DataGridViewRow, DataGridViewColumn, و derived فئات |
يحصل على الجميع الأنماط المطبقة حاليا إلى خلية أو صف أو عمود، بما في ذلك الأنماط موروثة من المستويات الأعلى. |
كـ المذكورة أعلاه، الحصول على القيمة خاصية النمط تلقائياً instantiates جديد DataGridViewCellStyleالكائن في حالة h خاصية كـ لم يتم مسبقاً تعيين. إلى فئات الصفوف والأعمدة التي تحتوي على أو تجنب إنشاء هذه الكائنات بضرورة HasDefaultCellStyleالخاصية التي يمكنك فحص من إلى تحديد ما إذا كان DefaultCellStyleخاصية تم تعيين. وبشكل مشابه، أن الفئات خلية HasStyleالخاصية التي تشير إلى ما إذا كان Styleخاصية تم التعيين.
كل من خصائص النمط لها حدث المطابق PropertyNameChanged DataGridViewعنصر تحكم. لصف، عمود، و خصائص خلية، اسم حدث يبدأ بـ " Row"او" Column"، أو " Cell" (على سبيل المثال، RowDefaultCellStyleChanged). كل من هذه الأحداث تحدث التابع لها النمط عند خاصية هو معينة إلى آخر DataGridViewCellStyleالكائن. قم بإجراء تلك الأحداث عندما تقوم باسترداد DataGridViewCellStyleكائن من خاصية النمط وتعديل قيم الخصائص الخاصة به. إلى الاستجابة إلى التغييرات إلى معالجة الالكائنات النمط خلية نفسها، CellStyleContentChangedحدث.
توريث النمط
كل DataGridViewCellيحصل على مظهره من به InheritedStyleخاصية. DataGridViewCellStyleيرث الكائن الذي تم إرجاعه بواسطة هذه خاصية قيمة من التسلسل هرمي لخصائص نوع DataGridViewCellStyle. هذه الخصائص مذكورة أدناه بالترتيب الذي InheritedStyleلرأس غير خلايا يحصل على قيم الخاصة به.
DataGridView.AlternatingRowsDefaultCellStyle(only for خلايا in rows with odd index numbers)
لخلايا رأس "صف وعمود", InheritedStyleالخاصية هو بقيم من lهوt التالية من خصائص المصدر في ترتيب معين.
يوضح الرسم التخطيطي التالي هذه العملية .
يمكنك أيضا الوصول إلى الأنماط الموروثة من قبل صفوف معينة و أعمدة. عمود InheritedStyleترث خاصية قيمة من التالي خصائص.
صف InheritedStyleترث خاصية قيمة من التالي خصائص.
DataGridView.AlternatingRowsDefaultCellStyle(only for خلايا in rows with odd index numbers)
لكل خاصية في DataGridViewCellStyleكائن تم إرجاعه بواسطة InheritedStyleالخاصية، يتم الحصول على القيمة الخاصية من أول خلية النمط في القائمة المناسبة التي تم تعيينها إلى القيمة غير ذلك غير الخاصية المطابقة DataGridViewCellStyleفئة افتراضية.
يوضح الجدول التالي كيف ForeColorالقيمة خاصية لأي خلية مثال هو موروثة من به العمود الذي يحتوي على الصفحة.
خاصية من نوع DataGridViewCellStyle |
مثال ForeColorاسترداد قيمة كائن |
---|---|
في هذه الحالة، Color.Redالقيمة من خلية صف هو اﻷول قيمة حقيقية تشغيل القائمة. ويصبح هذا الرقم ForeColorالقيمة خاصية خلية InheritedStyle.
يوضح مخطط التالي DataGridViewCellStyleأن يورث خصائص قيمها من " المختلفة أماكن مختلفة.
خلال الاستفادة من وراثة النمط، يمكنك توفير الأنماط المناسبة للكامل عنصر تحكم دون الحاجة إلى تحديد المعلومات نفسها في عدة أماكن.
على الرغم من أن المشاركة خلايا عنوان في وراثة النمط كما هو موضح، الكائنات ترجعها ColumnHeadersDefaultCellStyleو RowHeadersDefaultCellStyleخصائص DataGridViewعنصر تحكم تحتوي على قيم خاصية الأولى التي تتجاوز قيم الخصائص لكائن تم إرجاعه بواسطة DefaultCellStyleخاصية. إذا كنت ترغب في خصائص تعيينها للكائن الذي تم إرجاعه بواسطة DefaultCellStyleالخاصية لتطبيقها على رؤوس الأعمدة والصفوف، يجب عليك تعيين التابع لها خصائص الكائنات التي تم إرجاعها بواسطة ColumnHeadersDefaultCellStyleو RowHeadersDefaultCellStyleخصائص إلى الإعدادات الافتراضية المشار إليها DataGridViewCellStyleفئة.
ملاحظة
إذا تم ممكّن الأنماط المرئية، رؤوس الأعمدة والصفوف (عدا TopLeftHeaderCell) يتم تلقائياً تطبيق نمط بالسمة الحالي، وتجاوز أي الأنماط المحددة بواسطة هذه خصائص.
DataGridViewButtonColumn، DataGridViewImageColumn، و DataGridViewCheckBoxColumnأنواع أيضا بتهيئة بعض قيم من كائن يتم إرجاعها بواسطة العمود DefaultCellStyleخاصية. للحصول على مزيد من المعلومات، راجع الوثائق المرجعية لهذه الأنواع.
تعيين أنماط بشكل حيوي
لتخصيص أنماط خلايا مع قيم معينة، قم بتطبيق معالج ل DataGridView.CellFormattingحدث. معالجات لهذا حدث بتلقي وسيطة DataGridViewCellFormattingEventArgsالنوع. وهذا كائن يحتوي على الخصائص التي تسمح لك بتحديد القيمة خلية التي يتم تنسيقها بالإضافة إلى موقعة في DataGridViewعنصر التحكم. يتضمن هذا الكائن أيضا CellStyleخاصية التي يتم تهيئة إلى القيمة InheritedStyleخاصية خلية التي يتم تهيئتها. يمكنك تعديل خصائص النمط خلية إلى تحديد النمط المعلومات المناسبة إلى القيمة خلية وموقعه.
ملاحظة
RowPrePaintو RowPostPaintالأحداث تظهر أيضا DataGridViewCellStyleالكائن في بيانات حدث، ولكن في هذه الحالة الخاصة بها، فإنه هو نسخة من الصف InheritedStyleلا تؤثر على خاصية لأغراض القراءة فقط، والتغييرات إليه عنصر التحكم.
يمكنك أيضا بشكل حيوي تعديل أنماط خلايا الفردية في استجابة إلى الأحداث مثل DataGridView.CellMouseEnterو CellMouseLeaveالأحداث. على سبيل المثال، في معالج ل CellMouseEnterحدث، قد يتم تخزين القيمة الحالي للخلية اللون الالخلفية (التي تم استردادها من خلال للخلية Styleخاصية)، قم بتعيين إلى اللون جديد الذي يميز خلية عند مرور ماوس فوق it. في معالج ل CellMouseLeaveحدث، ثم يمكنك resإلىre اللون الخلفي إلى القيمة الأصلية.
ملاحظة
تخزين مؤقت قيم المخزنة في خلية Styleخاصية هو هام بغض النظر عن ما إذا كانت قيمة النمط معين هو. التعيين إذا قمت باستبدال النمط التعيين ting مؤقتاً، استعادتها إلى الأصل الخاصة به "لا التعيين" حالة التأكد من أن خلية العودة إلى وراثة الالنمط التعيين ting من المستوى أعلى. إذا كنت بحاجة لتحديد النمط الفعلي سارية المفعول لخلية بغض النظر عن ما إذا كان النمط هو الموروثة، استخدم خلية InheritedStyleخاصية.
راجع أيضًا:
المهام
كيفية القيام بما يلي: تعيين أنماط خلية عنصر تحكم Windows Forms DataGridView الافتراضي .
المرجع
DataGridView.AlternatingRowsDefaultCellStyle
DataGridView.ColumnHeadersDefaultCellStyle
DataGridView.RowHeadersDefaultCellStyle
DataGridView.RowsDefaultCellStyle
DataGridViewBand.InheritedStyle
DataGridViewRow.InheritedStyle
DataGridViewColumn.InheritedStyle
DataGridViewBand.DefaultCellStyle
DataGridViewCell.InheritedStyle
DataGridView.CellStyleContentChanged
المبادئ
تنسيق البيانات في عنصر تحكم DataGridView Windows Forms
موارد أخرى
التنسيق والتصميم في عنصر تحكم DataGridView نماذج Windows الأساسية