PDA

View Full Version : چطوری میشه کاربر رو در انتخاب آیتم های combobox محدود کرد؟



combo_ci
شنبه 27 بهمن 1386, 14:53 عصر
من یه combobox رو از طریق add data source پر کردم....حالا میخوام وقتی کاربر شروع نوشتن توی combobox کرد فقط بتونه مثل ایتم های combobox تایپ کنه و چیزه دیگه ای یعنی متنی غیر از اوون آیتم های combobox تایپ نشه.....کسی میتونه منو راهنمایی کنه؟

combo_ci
شنبه 27 بهمن 1386, 17:06 عصر
شما باید خاصیت DropDownStyle مربوط به کومبو رو در حالت DropDown قرار بدید.
دوست عزیز در این حالت دیگه کاربر نمیتونه چیزی توی combobox تایپ کنه...

saghari
شنبه 27 بهمن 1386, 17:28 عصر
با سلام
من این مشکل رو با کد نویسی در LostFocus کمبو باکس حل کردم (البته نمیدونم این راه درستیه یا نه)

maryam_vb
دوشنبه 29 بهمن 1386, 16:31 عصر
میتونی از رویداد Text change مربوط به کمبو باکس استفاده کنی و کرکترهای ورودی رو بگیری اگه آغاز آیتمی با این حروف بود اون به عنوان text قرار بگیره و ... مثلا "p" آیتم "program" در text کمبو قرار بگیره. (حالت ساده)

البته این چیزی که تو ذهن منه عملیه ولی یه خرده باید رو الگوریتمش کار بشه.
mar=maryam mah=mahmood حالا شاید در این جا آیتم mahyar رو هم داشته باشیم.
خیلی سعی کردم الگوریتم مورد نظرمو بنویسم ولی جمله بندیش خیلی سخته ! به امید اینکه متوجه شده باشین چی میخوام بگم!

من این مشکل رو با کد نویسی در LostFocus کمبو باکس حل کردم (البته نمیدونم این راه درستیه یا نه)
چه طوری؟ توضیح میدین ،شاید راه شما ساده تر باشه.

combo_ci
دوشنبه 29 بهمن 1386, 18:21 عصر
خوب این راهی که خانم maryam_vb گفتن درست هست اما بار cpu برنامه رو به شدت بالا میبره چون فکرشو بکنین...برای هر کاراکتر باید یه بار dataset مربوط به combobox فیلتر بشه ...اگر result داشت کاراکتر اضافه بشه وگرنه اضافه نشه...خوب این کار برنامه رو خیلی busy میکنه!!!1

Evil 69
سه شنبه 30 بهمن 1386, 10:15 صبح
تنها راه شما همینه که توی combo رو نکاه کنی حالا یا به روش maryam_vb و یا انکه بعد از درخاست کاربر که البته به نظر من بعد از درخاست کاربر اگر این کار رو بکنی استاندارد تره
برای این کار میتونی وقتی کاربر کلید مربوط به این combo رو زد این عملیات ( چک کردن combobox ) رو انجام بدی که دیگه وقت cpu رو هم زیاد نگیره