الانتقال إلى المحتوى الرئيسي

كيفية إزالة التحديد في داتاغريدفيو باستخدام ج#

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

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

// ضبط التحديد على خطأ

  1. داتاغريدفيو 1.الصفوف [ه. روينديكس].المحدد = خطأ;
  2. }
  3. وبالتالي ، في كل مرة تنقر فيها على خلية جدول ، ستتم إزالة التحديد تلقائيا. يتيح لك هذا الأسلوب إنشاء تطبيق أكثر سهولة للمستخدمين الذين ليس لديهم القدرة على إزالة التحديد يدويا بأنفسهم.
  4. تحديد اختيار في داتاغريدفيو
  5. طرق لإزالة التحديد في داتاغريدفيو
  6. باستخدام طريقة كليرسليكتيون
  7. باستخدام خاصية كيرنتسيل
  8. مثال البرنامج لإزالة التحديد في داتاغريدفيو
  9. مثال على استخدام طريقة التحديد الواضح
  10. مثال على استخدام خاصية كيرنتسيل
  11. سؤال وجواب

كيف يمكنني إزالة التحديد في داتاغريدفيو?

كيف يمكنني تغيير لون تسليط الضوء في داتاغريدفيو?

هل من الممكن إزالة التحديد من جزء فقط من الصف في داتاغريدفيو?

كيف يمكنني إزالة إطار التحديد في داتاغريدفيو?

كيف يمكنني تعطيل تسليط الضوء في داتاغريدفيو باستخدام ج#?

تحديد اختيار في داتاغريدفيو

يمكنك تحديد الخلايا أو الصفوف أو الأعمدة في داتاغريدفيو. في بعض الأحيان يكون من الضروري تحديد الخلايا أو الصفوف أو الأعمدة التي يتم تمييزها بواسطة المستخدم. للقيام بذلك ، يمكنك استخدام أساليب وخصائص داتاغريدفيو.

لتحديد الخلية المحددة ، يمكنك استخدام الخلايا المحددة والخلايا المحددة.خصائص العد. Свойство SelectedCells возвращает коллекцию выделенных ячеек, а свойство Count возвращает количество выделенных ячеек.

Пример использования:

if (dataGridView1.SelectedCells.Count > 0)

{

foreach (DataGridViewCell cell in dataGridView1.SelectedCells)

{

int rowIndex = cell.RowIndex;

int columnIndex = cell.ColumnIndex;

// Действия с выделенной ячейкой

}

}

لتحديد صف أو عمود محدد ، يمكنك استخدام خصائص سيليكتدروز و سيليكتدكولومنز. يعيدون مجموعات من الصفوف والأعمدة المحددة ، على التوالي. يمكنك استخدام خصائص سيليكتدروز و سيليكتدولومنز لتحديد فهارس الصفوف أو الأعمدة المحددة.

مثال على الاستخدام لتحديد الخطوط المميزة:

if (dataGridView1.SelectedRows.Count > 0)

{

foreach (DataGridViewRow row in dataGridView1.SelectedRows)

{

int rowIndex = row.Index;

// Действия с выделенной строкой

}

}

Пример использования для определения выделенных столбцов:

if (dataGridView1.SelectedColumns.Count > 0)

{

foreach (DataGridViewColumn column in dataGridView1.SelectedColumns)

{

int columnIndex = column.Index;

// Действия с выделенным столбцом

    }

طريقة أخرى لإزالة التحديد في داتاغريدفيو هو التحكم يدويا التركيز. للقيام بذلك ، يمكنك استخدام حدث سيلنتر ، والذي يحدث عندما يدخل التركيز الخلية. في معالج هذا الحدث ، يمكنك ضبط التركيز على عنصر تحكم آخر وبالتالي إلغاء تحديده. هنا مثال على تنفيذ هذا النهج:

باطل خاص داتاغريدفيو_سيلنتر(مرسل الكائن ، داتاغريدفيوسيليفينتارغس ه)

{

أوثيركونترول.التركيز();

}

اعتمادا على المهمة المحددة ، يمكنك اختيار الطريقة المناسبة لإزالة التحديد في داتاغريدفيو في التطبيق الخاص بك.

باستخدام طريقة كليرسليكتيون

طريقة كليرسليكتيون في

داتاغريدفيو

يسمح لك بحذف التحديد الحالي للخلايا والصفوف والأعمدة في عنصر التحكم.

لاستخدام طريقة كليرسليكتيون ، انتقل إلى مثيل داتاغريدفيو واستدعاء هذه الطريقة دون وسيطات:

  1. داتاغريدفيو 1.كليرسليكتيون();
  2. تساعد طريقة التحديد الواضح على مسح جميع التحديدات الحالية في عنصر التحكم. يمكن أن يكون هذا مفيدا عندما تحتاج إلى إعادة تعيين التخصيص بعد إجراء أي عمليات.

على سبيل المثال ، إذا كنت ترغب في إعادة تعيين التحديد بعد تحديث البيانات في عنصر تحكم داتاغريدفيو ، يمكنك استخدام طريقة كليرسليكتيون:

// تحديث البيانات في داتاغريدفيو

داتاغريدفيو 1.مصدر البيانات = جيتداتا();

// إعادة تعيين التحديد

داتاغريدفيو 1.كليرسليكتيون();

وهكذا ، فإن طريقة كليرسليكتيون هو وسيلة بسيطة وفعالة لإزالة التحديد الحالي في عنصر تحكم داتاغريدفيو.

باستخدام خاصية كيرنتسيل

فئة داتاغريدفيو لديها خاصية كيرنتسيل التي تمثل الخلية الحالية في التركيز. باستخدام هذه الخاصية ، يمكنك التحكم في اختيار الخلايا وإزالتها.

لإزالة تحديد الخلية ، قم بما يلي:

الحصول على الخلية الحالية باستخدام خاصية كيرنتسيل.

اضبط الخاصية المحددة على خطأ للخلية المستلمة.

مثال على الكود:

"'شارب

داتاغريدفيو داتاغريدفيو = داتاغريدفيو جديد ();

// الحصول على الخلية الحالية

داتاغريدفيوسيل كيرنتسيل = داتاغريدفيو.كيرنتسيل;

// إزالة

اختيار كيرنتسيل.المحدد = خطأ;

«`

الآن لن يتم تمييز الخلية الحالية ، وسيكون المستخدم قادرا على مواصلة التفاعل مع داتاغريدفيو دون مشاكل.

إذا لزم الأمر ، يمكنك استخدام هذه الخاصية لمهام أكثر تعقيدا. على سبيل المثال ، يمكنك تعيين الخلية الحالية إلى موقع معين باستخدام طريقة سيتكورنتسيل. أو يمكنك التحقق مما إذا كانت الخلية الحالية عبارة عن خلية بها معلمات معينة باستخدام خصائص كولومينديكس أو روينديكس أو قيمة.

    وفيما يلي نموذج التعليمات البرمجية التي توضح كيفية إزالة التحديد في داتاغريدفيو:

الآن ، عند تنفيذ هذا الرمز ، سيتم حذف كل التحديد في داتاغريدفيو وسيتم تعيين التركيز على الخلية الأولى في الجدول.

مثال على استخدام طريقة التحديد الواضح

تم تصميم طريقة كليرسليكتيون لإلغاء تحديد الخلايا في عنصر تحكم داتاغريدفيو. تقوم هذه الطريقة بمسح جميع الخلايا المحددة وإلغاء تنشيط الخلية الحالية.

داتاغريدفيو.كليرسليكتيون();

بعد استدعاء طريقة كليرسليكتيون ، سيتم إلغاء تحديد جميع الخلايا في عنصر تحكم داتاغريدفيو. سيتم إلغاء تنشيط الخلية الحالية.

ملاحظة: إذا كنت بحاجة إلى إلغاء تحديد خلايا معينة فقط ، فيمكنك تغيير الخاصية المحددة لكل خلية يدويا.

مثال على استخدام خاصية كيرنتسيل

داتاغريدفيو

، مما يسمح لك بالحصول على الخلية الحالية أو تعيينها فيها 

داتاغريدفيو

. هذه الخاصية مفيدة بشكل خاص عند العمل مع الخلايا المحددة ، عندما تحتاج إلى إدارة الخلية الحالية.

أولا ، تحتاج إلى إنشاء مثيل

داتاغريدفيو.مصدر البيانات = جيتداتا();

ثم يمكنك استخدام العقار 

كيرنتسيل

داتاغريدفيوسيل كيرنتسيل = داتاغريدفيو.كيرنتسيل;

// تعيين الخلية الحالية حسب فهارس الصفوف والأعمدة

داتاغريدفيو.كيرنتسيل = داتاغريدفيو.الصفوف [0].الخلايا [0];

الممتلكات

كيرنتسيل

إرجاع كائن من النوع

داتاغريدفيوسيل

، والتي تمثل الخلية المحددة حاليا. يمكنك استخدامه للوصول إلى خصائص وطرق مختلفة للخلية ، على سبيل المثال ، تغيير قيمة الخلية:

// تغيير قيمة الخلية الحالية

داتاغريدفيو.كيرنتسيل.القيمة = "قيمة جديدة";

в обработчиках событий, чтобы выполнить действия, связанные с текущей ячейкой. Например, можно обновить другой элемент управления на основе значения текущей ячейки:

{

string value = currentCell.Value.ToString();

label.Text = value;

}

}

في هذا المثال ، عند النقر فوق خلية جدول ، يتم عرض قيمة الخلية الحالية في

التسمية

.

الممتلكات

كيرنتسيل

يمكن أن تكون مفيدة جدا عندما تحتاج إلى التفاعل مع الخلية الحالية في

داتاغريدفيو