PDA

View Full Version : جستجو در کمبوباکس متصل به بانک



vapa_71
جمعه 06 دی 1392, 12:05 عصر
سلام دوستان
من یک کمبوباکس دارم که به بانک وصله و نام و نام خانوادگی افراد توی اون هست
وقتی که اسامی زیاد بشه پیدا کردن اسم مورد نظر خیلی سخت میشه مثلا از بین 20 یا 30 تا اسم که با م شروع میشه
میخوام داده های داخل کمبوباکس رو با تایپ کردن اسم فیلتر کنم
در حالت عادی کمبوباکس بر اساس حرف اول فیلتر میشه اما من میخوام بر اساس اسم و فامیل هم فیلتر بشه

hmbarnamenevis
جمعه 06 دی 1392, 12:26 عصر
آیا منظورت از اسم و فامیل این است که مثلا اگر در لیست "علی علوی" داشتیم و ما تایپ کردیم "علوی" باز هم این اسم را انتخاب کند؟

vapa_71
جمعه 06 دی 1392, 13:19 عصر
آیا منظورت از اسم و فامیل این است که مثلا اگر در لیست "علی علوی" داشتیم و ما تایپ کردیم "علوی" باز هم این اسم را انتخاب کند؟

منظورم اینه که مثلا اگه تایپ کردیم علی همه کسایی که با علی شروع میشن رو بیاره و اگه نوشتیم علی ع مثلا علی علوی رو بیاره

hmbarnamenevis
جمعه 06 دی 1392, 15:12 عصر
این رو خود کنترل ComboBox دارد کافی است شما خاصیت DropDownStyle را بر روی Simple قرار دهید؛ در خروجی برنامه با تایپ نام و زدن فلش پایین اتوماتیک اولین نام متشابه را انتخاب می کند.

sagggad
جمعه 06 دی 1392, 15:43 عصر
سلام دوست من.فکر کنم این سورس که نوشتم همون چیزی باشه که میخوای:
لینک دانلود:114480
موفق باشید:لبخندساده:

vapa_71
جمعه 06 دی 1392, 16:45 عصر
سلام دوست من.فکر کنم این سورس که نوشتم همون چیزی باشه که میخوای:
لینک دانلود:114480
موفق باشید:لبخندساده:

سلام ببخشید این پروژه با کدوم نسخه ویژوال نوشتین واسه من باز نمیشه

vapa_71
جمعه 06 دی 1392, 16:51 عصر
این رو خود کنترل ComboBox دارد کافی است شما خاصیت DropDownStyle را بر روی Simple قرار دهید؛ در خروجی برنامه با تایپ نام و زدن فلش پایین اتوماتیک اولین نام متشابه را انتخاب می کند.

اینطوری ممکنه کاربر به صورت اشتباه یک اسم دلخواه رو وارد کنه
مثلا علو و اگه از کمبوباکس گزینه ای رو انتخاب نکنه همون علو در نظر گرفته میشه

sagggad
جمعه 06 دی 1392, 16:54 عصر
من با 2012 نوشتم.چه مشکلی داره؟؟

nathan
شنبه 07 دی 1392, 01:39 صبح
از خاصیت AutoComplete استفاده کنید. خاصیت AutoCompleteSource رو بزارید روی listitem و خاصیت AutoCompleteMode رو هم روی یکی از 4 حالت پیشنهادی بزارین.

nathan
شنبه 07 دی 1392, 01:40 صبح
در ضمن بر اساس اسم و فامیل نمی شه بلکه بر اساس همون متنی که وارد شده و از اول متن جستجو انجام میشه.

vapa_71
شنبه 07 دی 1392, 10:24 صبح
از خاصیت AutoComplete استفاده کنید. خاصیت AutoCompleteSource رو بزارید روی listitem و خاصیت AutoCompleteMode رو هم روی یکی از 4 حالت پیشنهادی بزارین.

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

vapa_71
شنبه 07 دی 1392, 14:51 عصر
من با 2012 نوشتم.چه مشکلی داره؟؟

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

vapa_71
شنبه 07 دی 1392, 18:54 عصر
دوستان راه حلی سراغ ندارن ؟

khokhan
شنبه 07 دی 1392, 19:26 عصر
دوستان راه حلی سراغ ندارن ؟
سلام
شاید بشه از این هم بهتر ساخت اما به یه بار دیدنش می ارزه :لبخند:
114545

vapa_71
شنبه 07 دی 1392, 22:05 عصر
سلام
شاید بشه از این هم بهتر ساخت اما به یه بار دیدنش می ارزه :لبخند:
114545

مرسی اما برنامه شما هم مثل برنامه دوستمون هست یعنی میشه یک عدد که داخل کمبوباکس نیست هم وارد کرد

sagggad
شنبه 07 دی 1392, 22:06 عصر
یعنی مشکل شما با برنامه ی من فقط همین موضوع هست؟؟اگه اینطوریه که بگو سه سوت برات درست میکنم

vapa_71
شنبه 07 دی 1392, 22:22 عصر
خب تمام مشکل من همینه میخوام اولند کاربر فقط بتونه از توی کمبوباکس اسم مورد نظر رو انتخاب کنه و دومند مثلا وقتی چند کلمه از اول اسم رو تایپ کرد داده های توی کمبوباکس فیلتر بشن
مثلا
مح تایپ کرد اینا فیلتر بشن
محمود
محسن
محمد
محمد رضا
محمد مهدی
و ............

hmbarnamenevis
یک شنبه 08 دی 1392, 09:18 صبح
شما می توانید به جای ComboBox از یک دیتا گرید کوچک استفاده کنید و بالای دیتا گرید یک جعبه متن قرار دهید. با نوشتن در جعبه متن خروجی برای دیتا گرید بسازید بدین شکل:
textBox1_TextChange(...)
{
string sql="select fname from tblabe1 where fname like '%{0}%'";
sql=string.format(sql,textBox1.text);
datatable dt=getinfo(sql);//خروجی تابع گت اینفو یک جدول است که فقط ستون نام دارد
datagridview.datasource=dt;
}
بعد می توانید شرط بگذارید اگر دیتاگرید خالی بود یعنی اسم وارد شده در دیتابیس وجود ندارد.
myWeblog:http://myprogrammingvb.blogsky.com

vapa_71
دوشنبه 09 دی 1392, 20:40 عصر
دوستان کسی راه حل بهتری نداره به جز دیتاگرید

hmbarnamenevis
سه شنبه 10 دی 1392, 10:16 صبح
شما می توانید بجای اینکه اطلاعات فیلتر شده را در دیتا گرید بگذارید داخل لیست باکس قرار دهید.
برای اینکه مکانی زیادی از فرم اشغال نشه می توانید در رویداد gotfocus مربوط به جعبه متن ، لیست باکس ظاهر شود و در رویداد leave ، لیست باکس مخفی شود.

pcweb99
جمعه 26 اردیبهشت 1393, 17:01 عصر
سلام دوستان وقتتون بخیر. منم همین مشکل رو دارم یعنی میخوام طوری باشه که کاربر بجز مواردی که بصورت پیش فرض در کمبوباکس هست دیگه نتونه متن غیر مرتبطی رو وارد کنه،
طبق عکسی که گذاشتم مثلا برای جستجو فقط باید بر اساس " کد " و یا " نام و نام خانوادگی " جستجو صورت بگیره و در غیر اینصورت متن دیگری توسط کاربر تایپ نشه.البته خاصیت AutoComplete رو هم فعال کردم اما به تنهایی جوابگوی این نیاز من نیست. میخوام خاصیت تغییر متن کمبوباکس طوری باشه که فقط متنی در محدوده ی آیتم های از پیش تعریف شده تایپ بشه.
119110
لطفاً اگه کسی تا حالا همچین کاری رو انجام داده ما رو هم راهنمایی کنه. ممنونم ازتون