• 0
Ahmed Alshaheri

البحث في عمود لعدة صفوف داخل dataGridView

سؤال

الرجاء المساعده

عندي combobox وعند اختيار قيمة يتم اضافتها في dataGridView 

المطلوب مساعدتي فيه هو

التاكد اذا كان قد اضيفت هذه القيمة من comobox  من قبل لايضيفها

 

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

5 إجابة على هذا السؤال .

  • 0

السلام عليكم ورحمة الله وبركاته

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

لنفترض إنو القيم الموجودة في الكومبو وبكس هي عبارة عن صف foo

//صف البيانات الذي سيتم تعبئة قيم مستنسخة عنه ضمن الكومبو بوكس public class foo    {        public foo()        {//باني فقط للتسهيل بحيث أدخل فقط قيمة Name                Id=Guid.NewGuid();        }        public Guid Id { get; set; }        public string Name { get; set; }    }

سنقوم بتعبئة الكومبو بوكس ضمن ليست في مرحلة انشاء الليست الكنترولز:

//باني الفورم الذي يحتوي على الكنترولات الخاصة بناpublic fillList()        {            InitializeComponent();            loadFoo();//أضف foo1 كمصدر بيانات للكومبو بوكس            comboBox1.DataSource = foo1;//set Id,Name للعرض والقيمة             comboBox1.ValueMember = "Id";            comboBox1.DisplayMember = "Name";            dataGridView1.DataSource = foo2;        }

وهي ميثود لتعبئة الليست :

//توليد قيم لتعبئة الليست foo1        private void loadFoo()        {            for (int i = 0; i < 10;i++ )            {                foo f= new foo();                f.Name = "Item" + i.ToString();                foo1.Add(f);            }        }

على حدث SelectedChange  للكومبو بوكس

//الليست التي ستكون حاوية على قيم  الكومبوبوكس        List<foo> foo1 = new List<foo>();//الليسيت التي ستكون حاوية على القيم المعبئة ضمن الغريد فيو        List<foo> foo2 = new List<foo>();        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)        {//التأكد من عدم وجود الغرض ضمن القائمة             if (!foo2.Contains(comboBox1.SelectedItem))            {//اضافة الغرض للقائمة الثانية بعد عمل "كاست" لغرض من كومبوبوكس                 foo2.Add((foo)comboBox1.SelectedItem);//تفريغ الغريد فيو لومن ثم اضافة القائمة الثانية للغريد فيو لتحديث البيانات                dataGridView1.DataSource = null;                dataGridView1.DataSource = foo2;            }        }
تم تعديل بواسطه eiado
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اشكركم جزيل الشكر 

ema2000_t , eiado

اخي ema2000 t  ادري انها حلقة تكرارية for loop  

اخي eiado  البيانات التي ستكون في combobox  مأخوذه من قاعدة البيانات فانا عملت فعند اختيار عنصر من الكمبوبكس والضغط على button  اضافة سيضيف هذا العنصر الداتا قريد فيو 

 

int tacr = 0;
            int te = 0;
            te = Convert.ToInt16(com1.SelectedValue);
            for (int n = 0; n < dGV1.Rows.Count - 1; n++)
            {
 
                tacr = Convert.ToInt16(dGV1.Rows[n].Cells[0].Value);
                if (te == tacr) { MessageBox.Show("موجــــــــــود");
                
                }
                else {
                    dGV1.Rows.Add("", "", "", "", "", ""); 
                }
                break;
            }  
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

حلك صحيح لكن يكفي أن تقوم بعمل كاست Cast  بدون التحويل والطريقة التي ذكرتها أنا قد تكون أفضل واصح لأنها تفحص كامل العنصر

كيف تجلب البيانات إلى الكومبو بوكس؟

إما عن طريق DataSet أو عن طريق List of Objects؟

هل يمكنك تحميل جزية المشروع الخاصة بالعمل, لمساعدتك ؟

طلب صغير اخي : أرجو أن تضمن اكوادك في المنتدى ضمن تاق الأكواد عن طريق الضغط على <> من لوحة ازرار التنسيق ;)

تم تعديل بواسطه eiado
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اخي eiado  اهم شي في الفكره هو اول عمود في datagrideview    والقيمة التي في اول عمود هي datagridview  هي المختارة من الكمبوبكس فانا اريد ان اشيك اذا القيمة الموجودة في العمود الاول ترجع مسج بوكس ان هذا موجود من قبل

اخي العزيز ارسلي ايميلك سارسل لك 

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .