السلام عليكم
عندى ComboBox بها عناصر كثيرة ويوجد بها عناصر مكررة
فكيف اجعلها لا تكرر عناصر
وشكرا جزيلا
السلام عليكم
عندى ComboBox بها عناصر كثيرة ويوجد بها عناصر مكررة
فكيف اجعلها لا تكرر عناصر
وشكرا جزيلا


إذا كان الكومبو بوكس يأخذ بياناته من لائحة أو مجمع داتا أو من جدول فاستخدم استفسار Linq أو SQL مستخدما التعبير group by لتجميعها
وإن لم يتضح ضع لنا الكود الخاص بملء الكومبو لنرى المناسب
ما أقبـح المعصية ، تذهب لذتها ويبقى إثمها ... ومأ أحسن الطاعة ، تذهب مشقتها ويبقى ثوابها
كل نعيم دون الجنة غرور ... وكـل شقـاء دون النـار سرور
اهلا اخي
استخدم الخاصيه content الموجوده بداخل item
if
(
(combox1.item.content(textbox1.text
}
هذا الشرط يفحص اذا كانت القيمه موجوده ام لا
أبو أحمد المبرمج كتب:إذا كان الكومبو بوكس يأخذ بياناته من لائحة أو مجمع داتا أو من جدول فاستخدم استفسار Linq أو SQL مستخدما التعبير group by لتجميعها
وإن لم يتضح ضع لنا الكود الخاص بملء الكومبو لنرى المناسب
المبرمج حمدي الصياح كتب:اهلا اخي
استخدم الخاصيه content الموجوده بداخل item
if
(
(combox1.item.content(textbox1.text
}
هذا الشرط يفحص اذا كانت القيمه موجوده ام لا
بضيف العناصر من السهم اعلى combox كما بالصورة



جملة الاستعلام تحتاج الي مراجعة لا بها المشكله اي التكرار لا في combobox
سبحانه الله وبحمده سبحانه الله العظيم
if (You Love ArabTeam2000 ) MessageBox.Show("All ArabTeam2000 Love You"); else MessageBox.Show("go to your mama"); أخي أن تجعل مصدر البيانات للكومبو بوكس هو حقل من جدول مباشر
يجب عليك بناء استعلام يستخدم التجميع Group By أو حذف التكرار SELECT DISTINCT
ومن ثم تجعل الاستعلام مصدر البيانات للكمبو بوكس
ما أقبـح المعصية ، تذهب لذتها ويبقى إثمها ... ومأ أحسن الطاعة ، تذهب مشقتها ويبقى ثوابها
كل نعيم دون الجنة غرور ... وكـل شقـاء دون النـار سرور
أبو أحمد المبرمج كتب:أخي أن تجعل مصدر البيانات للكومبو بوكس هو حقل من جدول مباشر
يجب عليك بناء استعلام يستخدم التجميع Group By أو حذف التكرار SELECT DISTINCT
ومن ثم تجعل الاستعلام مصدر البيانات للكمبو بوكس
KARIMSOFT كتب:جملة الاستعلام تحتاج الي مراجعة لا بها المشكله اي التكرار لا في combobox
ياريت لو توضيح أكثر أو لو يوجد كود
جزاكم الله خيرا


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

وبستخدم sql server 2000
فى انتظار الرد


أخي في نفس النافذة التي تربط بها الكومبو بوكس تجد في الأسفل Add Query منها تستطيع أن تجعل المصدر هو استعلام مخصص وليس حقل مباشر
انقر عليه ليظهر لك نافذة تصميم الاستعلام حينها اجعل العمود المحدد Group BY
ما أقبـح المعصية ، تذهب لذتها ويبقى إثمها ... ومأ أحسن الطاعة ، تذهب مشقتها ويبقى ثوابها
كل نعيم دون الجنة غرور ... وكـل شقـاء دون النـار سرور
أخي الكريم ضع هذا الكود في المكان الذي تريده مع تغيير اسم Combobox إلى الاسم الذي تريده
List<object> list = new List<object>();
foreach (object o in comboBox1.Items)
{
if (!list.Contains(o))
{
list.Add(o);
}
}
comboBox1.Items.Clear();
comboBox1.Items.AddRange(list.ToArray());
}
إذا أردت أن تـجـعـلـنـي سـعـيـداً ... فـعـلـمـنـي شـيـئـاً جـديـداً
أبو أحمد المبرمج كتب:أخي في نفس النافذة التي تربط بها الكومبو بوكس تجد في الأسفل Add Query منها تستطيع أن تجعل المصدر هو استعلام مخصص وليس حقل مباشر
انقر عليه ليظهر لك نافذة تصميم الاستعلام حينها اجعل العمود المحدد Group BY
السلام عليكم
ارجو التوضيح لانى لم استخدم هذا من قبل
فقد ذهبت لنافذة التصميم Add Query
ولم اوصل أن اجعل العمود المحدد Group BY
فارجو التوضيح وماذا اكتب بالضبط
جزاك الله كل خير
Mr.Mando كتب:أخي الكريم ضع هذا الكود في المكان الذي تريده مع تغيير اسم Combobox إلى الاسم الذي تريده
List<object> list = new List<object>(); foreach (object o in comboBox1.Items) { if (!list.Contains(o)) { list.Add(o); } } comboBox1.Items.Clear(); comboBox1.Items.AddRange(list.ToArray()); }
أرجوا أن يكون هذا هو المطلوب
يوجد خطا فى هذا السط
comboBox1.Items.Clear(); comboBox1.Items.AddRange(list.ToArray());
ارجو الحل جزاك الله كل خير


عليك دراسة مفهوم قواعد البيانات قبل البدء في البرمجة حتي لا يحث خطء يجبرك علي هدم البرنام من اساسة بسبب ضعب بناء مفهوم قاعدة البيانات
سبحانه الله وبحمده سبحانه الله العظيم
if (You Love ArabTeam2000 ) MessageBox.Show("All ArabTeam2000 Love You"); else MessageBox.Show("go to your mama"); هذا كو بسيط عملته لمن كان عندي سكل سيرفر 2012
بس ما موتاكد لو يشتغل علي ال2000 وارجوا من الاعضاء تجربته لاني مش متاكد منه
SqlConnection con = New SqlConnection("Data Source=(local);Initial Catalog=DataBase;User Id=sa;Password=password";"); //هذا اسكربت الاتصال مع الاسكل سيرفر
/* Datae Source اسم سيرفر مثال HawasMan/SQLExpress
Initial Catalog اسم الداتا بيس الي فيها التابيل الي عايز تسحب منها المعلومات
User Id و Password اظنهم واضحين ما يحتاجوا شرح
*/
SqlCommand cmd;// متغير جديد علشان تحط فيه الكومند الاسكل سيرفر الي عايزه مثل Select * from Table
SqlDataReader dread; // علشان يقرا مخرجات ال cmd
public void connection()
{
con.Open(); // يفتح الاتصال مع الاسكل سيرفر
comboBox1.Items.Clear();//يمسح المعلومات الموجودة في الكومبوا سابقا
cmd = new SqlCommand("select DISTINCT * from DataBaseTable", con);//هذا الاسكربت الي تجلب بيه المعلومات من التيبل
dread = cmd.ExecuteReader(); // نقرا مخرجات الاسكربت
while (dread.Read())
{
comboBox1.Items.Add(dread(0));
}
dread.Close();// غلق القارئ وهذا الكود مهم جدا ولا حيجيك خلل من البرنامج
}