منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : كيف أحدد أكثر من صف في DataGridView في وقت واحد بالماوس ، وليس بالضغط على مفتاح Ctrl
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ..
أرجو مساعدتي في إيجاد طريقة لتحديد أكثر من سجل أو صف في أداة dataGridView ، وذلك بواسطة النقر بالماوس ، وليس بواسطة مفتاح كنترول ..
حيث أنه متاح أصلاً للمستخدم في أداة dataGridView أن يضغط على مفتاح Ctrl باستمرار ، ثم النقر على السجلات التي يريد تحديدها بشكل عشوائي فيتم تحديد السجلات بواسطة النقر مع الضغط  باستمرار على مفتاح Ctrl .
لكني لا أريد ذلك .. أريد أن يتمكن المستخدم من تحديد عدة صفوف أو سجلات بواسطة النقر فقط على الصف ، فإن كان محدداً يزيل عنه التحديد، وإن كان غير محدداً فإنه يتم تحديده ..
وشكراً .
وعليكم السلام
تابع هذا وادرس الكود فقط !
Adding CheckBox Column in DataGridView in C# Window Forms

أخي أبو عمر..

أولاً : أشكرك عل سرعة الرد  ، واهتمامك .. 

ثانياً : المثال الذي أشر ت حضرتك إليه مشكوراً  ،أنا  أعرفه وهو عندي من قبل ، ولكن ليس هذا هو المطلوب لأنه يستخدم أداة CheckBox للتحديد .

ثالثاً : أنا يمكن كنت غير موفق في شرح ما أريده بالضبط ..

أخي الكريم أبو عمر ..

أنا أريد أن اختار عدة سجلات من الـ DataGridView بالنقر بالماوس (نقرة واحدة فقط وليست مزدوجة) بحيث لو كان السجل الذي نقرت عليه تم اختياره من قبل ، سيتم إلغاء التحديد عنه ، ولو كان غير محدد ، سيتم تحديده ..

بالنسبة للتحديد أريد أن يتم تحديد كل الصف المحدد هكذا كما في الصورة التالية :

http://www.mediafire.com/convkey/f185/3jwjc30etouwfyrzg.jpg







وبالمناسبة أنا بالفعل وجدت مثال للفكرة التي أود الوصول إليها ، لكن مشكلة هذا المثال :

- أنه بلغة VB.Net ، وأنا أريد المثال بلغة #C .

- أنه يستخدم Inherits  من الكلاس الأصلي لأداة الداتا جريد ، وأنا لا أريد ذلك ، أريد أن أطبق الفكرة على الأداة الأصلية ، لأني أريد أن أجري بعض الـ Validations علي الفكرة أيضاً ..

عموماً هذا هو المثال الذي وجدته من خلال بحثي على الانترنت :

http://www.mediafire.com/download/hyiwwmuzxwzehmu/1.rar

المثال



فأرجو المساعدة .. وشكراً لك مجدداً .

أزيدك من الشعر بيت ..

هذا المثال : انقرهنا

فيه نفس الفكرة اللي أبغى أنفذها ، لكن مشكلة هذا المثال أنه يعتمد على عمل لووب على كل السجلات ، للتحقق إن كان السجل محدد أم غير محدد

وبالتالي المستخدم يشوف كل السجلات كأنها تومض وميض مزعج وغير مريح للنظر.مع كل نقرة بالماوس على أي سجل منها .

ولذلك لم يناسبني أيضاً هذا المثال ..



أنا كنت أفكر لو توجد طريقة أقدر أخلي من خلالها مفتاح Ctrl من الكيبورد ، أقدر أخليه مضغوط ضغطة باستمرار بواسطة الكود   Big Grin ، بحيث لو ضغط المستخدم على أي سجل ثاني وثالث وعاشر .. الخ ، لا يفقد تحديد السجلات السابقة .
مرحبا بك 
تطبيق الفكرة على الاداة الاصلية ؟
عموما هذا في الكلاس المرفق
بعد تحويله الى للسي شارب
والتأكد من عمله جيداً
اذا وجدت طريقة للتعامل الاصلية فارجو ابلاغي بذلك
شكرا لك يا أبو عمر على تحويل كود الـ Class إلى لغة #C ..
وبالنسبة لتطبيق الفكرة على الاداة الاصلية ..
فهو طلبي الذي لم أجد له أي حل  Sad
منذ أسبوع وأنا أبحث في الإنترنت ، لكن من دون جدوى .
(06-10-15, 08:30 PM)أشرف حكيم كتب : [ -> ]شكرا لك يا أبو عمر على تحويل كود الـ Class إلى لغة #C ..
وبالنسبة لتطبيق الفكرة على الاداة الاصلية ..
فهو طلبي الذي لم أجد له أي حل  Sad
منذ أسبوع وأنا أبحث في الإنترنت ، لكن من دون جدوى .

على الأقل لو توجد طريقة نستطيع من خلالها الضغط باستمرار على مفتاح كونترول بواسطة الكود  ، ستنتهي المشكلة .
الموضوع ابسط مما تتخيل 
لدي حل لمشكلتك  SmileSmile
وهو جعل خاصية
multiselect = true
هذا هو الامر ببساطة شديدة ارجو ان اكون قدمت لك ما يفيد