PDA

View Full Version : سوال: تایپ متن در combo box و نمایش ایتم های مشابه .چگونه؟



hamed_hossani
دوشنبه 11 اردیبهشت 1391, 21:14 عصر
سلام
من جدولی دارم که دوتا ستون داره و 7000 رکورد
می خوام بزارمش تو combo box
می خوام وقتی کاربر داره متنی رو تایپ میکنه تمام گذینه هایی که مشابه هستند بهش پیشنهاد بشه!

کامپوننت telerik 2009_2010 وکامپوننت جانوس هم دارم ولی بلد نیستم استفاده کنم:گریه:
در ضمن اگه بشه فقط یک بار روی دیتابیس کوری اجرا بشه.
چکار کنم؟

group45
دوشنبه 11 اردیبهشت 1391, 22:54 عصر
سلام
به پستی که در تایپیک زیر گذاشتم مراجعه کنید

http://barnamenevis.org/showthread.php?338643-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%DB%8C-%D9%BE%DB%8C%D8%B4%D8%B1%D9%81%D8%AA%D9%87-%D8%A7%D8%B2-%DA%A9%D8%A7%D9%85%D8%A8%D9%88-%D8%A8%D8%A7%DA%A9%D8%B3
امیدوارم مشکلتون حل بشه.

hamed_hossani
دوشنبه 11 اردیبهشت 1391, 23:31 عصر
ممنون
نگاش کردم
فقط با اول کلمات کار میکنه و فقط نام یک ایتم رو نشون میده

من میخام باز بشه و تمام ایتم ها ی مشابه رو برام لیست کنه
و متنی هم که می نویسم اگه در وسط ایتمی باشه اونو بهم نشون بده!
با تشکر

mshirzad68
سه شنبه 12 اردیبهشت 1391, 01:36 صبح
با این کد کمبو باکست رو از جدول و ستون مورد نظرت پر کن .

//پر كردن كامبو باكس
SqlConnection cnn = new SqlConnection("کانکشن استرین
");
SqlCommand cmd = new SqlCommand("کوئری برای انتخاب", cnn);
SqlDataAdapter da2 = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da2.Fill(dt);
comboBox1.DataSource = dt;
comboBox1.DisplayMember = "نام جدول";



سپس این پیژگی ها رو در کامبوباکس تنظیم کن :
AutoCompleteMode رو روی حالت suggest قرار بده
AutoCompleteSource رو روی حالت ListItems تنظیم کن.

به این صورت طبق کاراکتر های وارد شده تمام واژه هایی که تا الان موجود هستن رو به صورت خیلی زیبا و کاربردی لیست میکنه.
امّا نمیدونم اگه متن وارد شده وسط نام یک آیتم توی کامبو بود رو نمایش میده یا نه .
بی زحمت تست کن نتیجه رو اعلام کن.
البته حالت های دیگر AutoCompleteMode رو هم امتحان کن .

hamed_hossani
سه شنبه 12 اردیبهشت 1391, 10:27 صبح
ممنون
تست کردم
فقط ایتم هایی که حرف اولشون با متن وارد شده برابر است نشون داده میشه!
چه طوری متن رو در ایتم ها سرچ کنم ولیست مشابه ها رو نشان بدم؟

m * h * d
یک شنبه 21 خرداد 1391, 18:21 عصر
با سلام دوست عزیز کد قبلی رو فقط با این روش تصحیح کن تا بتونی بر اساس کاراکترهای بعدی سرچ کنی

AutoCompleteMode رو روی حالت SuggestAppend قرار بده
AutoCompleteSource رو روی حالت ListItems تنظیم کن.

Boy_nn
سه شنبه 23 خرداد 1391, 15:19 عصر
برای این جور کارها فقط WPF

Y_Safaiee
سه شنبه 23 خرداد 1391, 16:27 عصر
با سلام خدمت شما دوست گرامی

من برای حل این مشکل یه Tabeladapter جدید تو dataset میسازم و براش شرط میزارم بعد تو رویداد textchange کمبوباکسم این tabeladapter رو دوباره fill میکنم و چون کمبوباکسم به این tableadapter وصله داده ها فیلتر میشه

مثلا



namestabeladapter.fill(mainds.names,combobox1.text );


یه راه دیگم استفاده از دستور filter آبجکت BindingSource هست.

موفق باشی
بایت بایت