الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ما هى طريقة عمل multi selection داخل datagridview و حذف الصفوف التى تم اختيارها و اعادة ترتيب الصفوف من جديد

بدأه ahmead24 في 20 فبراير 2011 · 3 رد · 1,250 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

ما هى طريقة عمل multi selection داخل datagridview و حذف الصفوف التى تم اختيارها و اعادة ترتيب الصفوف من جديد

لقد حاولت كثير لكن المشكلة ان فى current row لا تقبل الا صف واحد و لا اعرف من هى الخاصية التى تجعل الدوت نت تفهم تعدد الاختيارات داخل الجريد و شكرا

#2

يجب عليك ان تقوم بوضع check box كحقل اضافي ضمن الغريد ....... وفي الخلفية اي في الكود قم باستخدام حلقة for each حتى تبحث عن كافة العناصر التي تم تعليمها وحالتها checked .......... ومنها تنفذ ماتريد وهذا مثال عليها ... قمت بكتابته لاختيار رحلة :

        int CheckedCount = 0;
        int tripNum = -1;
        int BusNumber = 0;
        string MyDate = "";
        string MyTime = "";
        foreach (GridViewRow R in GridView1.Rows)
        {
            CheckBox C = R.FindControl("CheckBox1") as CheckBox;
            if (C != null)
            {
                if (C.Checked)
                {
                    CheckedCount++;
                    tripNum = int.Parse(R.Cells[1].Text);
                    BusNumber = int.Parse(R.Cells[6].Text);
                    MyDate = R.Cells[4].Text;
                    MyTime = R.Cells[5].Text;
                    if (CheckedCount > 1) 
                    {
                        General.ShowMsg("Only one trip can be selected.", Response);
                        return; 
                    }
                }
            }            
        }
        if (CheckedCount == 0)
        {
            General.ShowMsg("one trip must selected.", Response);
            return;
        }

قل لمن يحمل هما ****** إن همــــا لا يدوم
:rolleyes: :rolleyes: :clapping: :rolleyes: :rolleyes:

مثلا تفنى المسـرة ***** هكذا تفنى الهموم

#3

اشكرك على الرد و الفكرة الجميلة لكن انا لا اريد عمل check box كحقل اضافي لانك مثلا فى الاكسيل يمكنك حذف اكثر من صف بمجرد التظليل عليهم و ليس بالضرورة ان يكون هذة الصفوف متتالية بل يمكنك استخدام ctrl لكى تقوم بحذف الصف الذى تريدة المهم اننى اريد ان اتعامل مع الجريد فى برنامجى بنفس الطريقة لاننى اجدها اكثر مرونة و احترافية بالنسبة للمستخدم النهائي لكن هذا لا يمنع ان الحل الذى اشرت به عملى جدا لحل المشكلة و لكن فكر معى لماذا لا يمكن محاكاة الاكسيل فى الجريد ؟؟

#4

من نافذة خصائص الداتا جريد قم تعيين قيمة الخاصية multiselect إلى true

هذا الكود يجعلك تحذف الصفوف المختارة من الداتا جريد:

private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
    	{
       	if (e.KeyCode == Keys.Delete)
        	{
            	int x, y = dataGridView1.SelectedRows.Count;
            	for (int i = 0; i < y; i++)
            	{
                	x = dataGridView1.SelectedRows.Count;
                	dataGridView1.Rows.Remove(dataGridView1.SelectedRows[x-1]);
            	}
        	}
    	}

لم أفهم المقصود بترتيب الصفوف من جديد

تم تعديل هذه المشاركة بواسطة بهاء صلاح الدين فراج في 20 فبراير 2011 في 19:51

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…