PDA

View Full Version : بررسی وجود یک آیتم در کمبوباکس



hamed_s64
چهارشنبه 08 شهریور 1391, 18:44 عصر
با سلام
دوستان من در برنامه از کمبوباکس با یک سری آیتم از قبل اضافه شده اما می خوام اگر در زمان ورود اطلاعات آیتمی که کاربر می خواد وارد کنه در لیست نبود بعد از ذخیره شدن اطلاعات به آیتم های کمبوباکس اضافه بشه چجوری باید وجود اون آیتم رو در کمبو چک کنم و در صورت نبودن ذخیره کنم ،من از حلقه برای چک کردن آیتم ها استفاده کردم ولی آیا اگر تعداد آیتم ها زیاد بشه سرعت کم نمیشه؟راه بهتری هست؟

mousa1992
چهارشنبه 08 شهریور 1391, 19:10 عصر
با اضافه کردن ایتم ها مقادیر combobox رو update کن ، با این کار نیازی به سرچ کردن نداری و برای سرچ باید همه ی ایتم ها رو بررسی کنی با حلقه

reza1984
چهارشنبه 08 شهریور 1391, 20:35 عصر
int index = comboBox1.FindString(textBox2.Text);

alexmcse
چهارشنبه 08 شهریور 1391, 22:02 عصر
int i= comboBox1.FindStringExact(textBox1.Text);
comboBox1.DroppedDown = true;
comboBox1.SelectedIndex = i;

یا

string s=textBox1.Text.Trim();
if (comboBox1.Text == s)
label1.Text =s;
else
label1.Text = "not found";
:تشویق::تشویق:

hamed_s64
چهارشنبه 08 شهریور 1391, 22:10 عصر
با اضافه کردن ایتم ها مقادیر combobox رو update کن ، با این کار نیازی به سرچ کردن نداری و برای سرچ باید همه ی ایتم ها رو بررسی کنی با حلقه
ممنون میشه توضیح بدید چجوری؟

Mahmoud.Afrad
چهارشنبه 08 شهریور 1391, 23:16 عصر
if (!comboBox1.Items.Contains("your item"))
comboBox1.Items.Add("your item");
البته اگر از دیتاسورس استفاده میکنید مثلا دیتاتیبلی را به کمبو بایند کرده اید کد بالا جواب نمیده و باید آیتم مورد نظر را با دیتاتیبل چک کنید.

mousa1992
پنج شنبه 09 شهریور 1391, 04:36 صبح
hamed_s64 (http://barnamenevis.org/member.php?101241-hamed_s64) عزیز
همونطور که دوست عزیز mafaman2003 (http://barnamenevis.org/member.php?71297-mafaman2003) گفتند میشه یه شرط قرار داد مثل کد بالا اگر موجود نبود ایتم مورد نظر اونو اضافه کنه به combobox (بعد از ذخیره شدن اطلاعت )
و اگه combobox رو به جدولی از دیتابیس بایند کردید نمیشه ایتمی رو بهش اضافه کنید و باید با هر بار اضافه شدن اطلاعات combobox اپدیت بشه

این یه نمونه از بایند کردن combobox هست

SqlDataAdapter da = new SqlDataAdapter("select * from names", con);
DataTable dt = new DataTable();
con.Open();
da.Fill(dt);
con.Close();
comboBox1.DataSource = dt;
comboBox1.DisplayMember = "name";
comboBox1.ValueMember = "id";




که بعد از هر بار ذخیره اطلاعت میتونی دباره combobox رو اپدیت کنی با همین روش
بیشتر در مورد کاری که انجام میدی توضیح بده دوستان بهترین راه رو پیشنهاد میدن
موفق باشید

hamed_s64
پنج شنبه 09 شهریور 1391, 08:45 صبح
ببنید من داخل پروژم حدود 20 کمبوباکس دارم که یکسری اطلاعات از پیش وارد شده داره و کاربر میتونه در صورت موجود نبودن یک آیتم خودش اونو تایپ کنه و این ایتم به لیست آیتم های کمبو اضافه بشه حالا به نظرتون بهترین راه حل چیه؟مثلا یک کمبوباکس که اسم یکسری قطعه توشه حالا اگر قطعه جدید بود اسمشو خوده کاربر وارد کنه و به لیست اضافه بشه و چون برنامه تحت شبکه هست (فقط بانک روی سرور قرار داره) می خوام تا حد امکان از دریافت اطلاعات از بانک کم کنم
ممنون

Mahmoud.Afrad
پنج شنبه 09 شهریور 1391, 16:58 عصر
آیتم های جدید را بالاخره باید به دیتابیس اضافه کنید. بعد از اینکه درج انجام دادید یک بار دیگه سلکت بگیرید و عمل بایند را مجدد انجام بدید چون برای کارهای بعدی به id اون آیتم جدید نیاز پیدا می کنید.