الرجاء المساعده
عندي combobox وعند اختيار قيمة يتم اضافتها في dataGridView
المطلوب مساعدتي فيه هو
التاكد اذا كان قد اضيفت هذه القيمة من comobox من قبل لايضيفها
الرجاء المساعده
عندي combobox وعند اختيار قيمة يتم اضافتها في dataGridView
المطلوب مساعدتي فيه هو
التاكد اذا كان قد اضيفت هذه القيمة من comobox من قبل لايضيفها
السلام عليكم ورحمة الله وبركاته
أبسط الأمور عمل حلقة تكرارية على كل الصفوف الموجودة فى الداتا جريد واختبار قيمة كل صف فإذا وجد القيمة المتوبة فى الكومبو يلغى العملية تماماً أما إذا تمت الحلقة التكرارية بدون ما يجد القيمة يستكمل بعد الحلقة ويسجل البيان الجديد
أدعو الله أن يجعل أعمالنا خالصة لوجهه الكريم --- وأن ينفعنا بما علمنا
Dr Sayed Tohamy
Programming Instructor
مدرب برمجة
---------------
EmaSoft2000
-------------------
لنفترض إنو القيم الموجودة في الكومبو وبكس هي عبارة عن صف 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 في 14 أكتوبر 2013 في 00:12
||***************************************************||
||بسم الله الذي لا يعلو على اسمه شيء في الارض ولا في السماء وهو العلي العظيم ||
||***************************************************||
|| اللهم إن لم يكن بك غضب علي فلا ابالي ||
||***************************************************||
في المنتديات العلمية استخدام التقييم
يرفع من قيمة الموضوع واهمية الرد
اشكركم جزيل الشكر
ema2000_t , eiadoاخي ema2000 t ادري انها حلقة تكرارية for loop
اخي eiado البيانات التي ستكون في combobox مأخوذه من قاعدة البيانات فانا عملت فعند اختيار عنصر من الكمبوبكس والضغط على button اضافة سيضيف هذا العنصر الداتا قريد فيو
حلك صحيح لكن يكفي أن تقوم بعمل كاست Cast بدون التحويل والطريقة التي ذكرتها أنا قد تكون أفضل واصح لأنها تفحص كامل العنصر
كيف تجلب البيانات إلى الكومبو بوكس؟
إما عن طريق DataSet أو عن طريق List of Objects؟
هل يمكنك تحميل جزية المشروع الخاصة بالعمل, لمساعدتك ؟
طلب صغير اخي : أرجو أن تضمن اكوادك في المنتدى ضمن تاق الأكواد عن طريق الضغط على <> من لوحة ازرار التنسيق ;)
تم تعديل هذه المشاركة بواسطة eiado في 15 أكتوبر 2013 في 02:43
||***************************************************||
||بسم الله الذي لا يعلو على اسمه شيء في الارض ولا في السماء وهو العلي العظيم ||
||***************************************************||
|| اللهم إن لم يكن بك غضب علي فلا ابالي ||
||***************************************************||
في المنتديات العلمية استخدام التقييم
يرفع من قيمة الموضوع واهمية الرد
اخي eiado اهم شي في الفكره هو اول عمود في datagrideview والقيمة التي في اول عمود هي datagridview هي المختارة من الكمبوبكس فانا اريد ان اشيك اذا القيمة الموجودة في العمود الاول ترجع مسج بوكس ان هذا موجود من قبل
اخي العزيز ارسلي ايميلك سارسل لك
لاني بحاجة للمساعدة من شخص ذو خبر لان قد يكون في الكود في اشياء اخرى غير هذا قد تسبب مشاكل مستقبلية فاريت استشارتك