PDA

View Full Version : سوال: مشکل در کمبوباکس برای تعداد کم



hercool
سه شنبه 15 مرداد 1392, 20:32 عصر
سلام دوستان یه مشکل دارم
من یه کمبوباکس دارم که تعداد ایتم هاش 8 تا بیشتر نیست و نمی خوام به خاطر این تعداد اتصال به دیتابیس ایجاد کنم و براش یه جدول بسازم
بنابراین می خوام از دیکشنری استفاده کنم اما راه به جای نبردم یه نگاه کنید کد ها رو
test.Add("قیمت", "1");
test.Add("فرمول", "2");
test.Add("حساب", "3");
comboBox3.DataSource = new BindingSource(test, test.Keys.ToString());
comboBox3.DisplayMember = "key";
comboBox3.ValueMember = "value";
string value = ((KeyValuePair<string, string>)comboBox3.SelectedItem).Value;

teyperequest.Add("قیمت", 1);
teyperequest.Add("فرمول", 2);
teyperequest.Add("حساب", 3);

comboBox3.DataSource = new BindingSource(teyperequest, "key");
comboBox3.DisplayMember = "key";
comboBox3.ValueMember = "value";
int value = ((KeyValuePair<string, int>)comboBox1.SelectedItem).Value;

مهرداد صفا
چهارشنبه 16 مرداد 1392, 00:00 صبح
با سلام.
به این صورت عمل کنید:

test.Add("key1", "1");
test.Add("key2", "2");
test.Add("key3", "3");
var source = (from item in test select new { key = item.Key, value = item.Value }).ToArray();
comboBox1.DataSource = source;
comboBox1.DisplayMember = "Key";
comboBox1.ValueMember = "Value";


به ازای هر عضو از dictionary یک شی جدید با دو خصوصیت key و value ساخته شده و مقادیر آنها با Key و Value های dictionary پر شده. در پایان آرایه ای از این اشیا به عنوان DataSource کامبو ست شده.
پیشنهاد می کنم در مورد linq و anonymous objects مطالعه کنید.