نشون دادن کلمه مشابه در یک TextBox
سلام
دوستان عزیز میخوام بدونم چطوری میشه که وقتی کاربری در یک تکس باکس در حال وارد کردن کلمه ای است، کلماتی رو که مشابه کلمه کاربر هستش رو جلوتر درون TextBox نشون داد.
فرض بر این هستش که این تکس باکس با یک پایگاه داده درارتباط هستش و کلمات مشابه رو از اونجا نشون میده .
ممنون میشم راهنماییم کنید .:چشمک:
نقل قول: نشون دادن کلمه مشابه در یک TextBox
سلام دوست عزیز !
تا اونجا که من اطلاع دارم به صورت پیش فرض ابزاری برای suggestion وجود ندارد.
یا باید از component ها استفاده کنید (که بنده در vb 6 چنین کاپننتی را سراغ ندارم) اما راه دیگر این است که خود شما یک کامپننت بنویسی !
در واقع کامپننت شما در زمان textchange می رود به دیتابیس و چک می کند، اگر کلمه ای با این مشاهبت در دیتابیس وجود داشت، یک lalbe کم رنگ ظاهر می شود در مقابلش، که کاربر با زدن کلید Enter می تواند عملیات autocomplete را انجام دهد.
نقل قول: نشون دادن کلمه مشابه در یک TextBox
بهتره يه ليست باكس زير تكست باكس مورد نظر قرار بدي و در رويداد change تكست باكس كد جستجو
در بانك اطلاعاتي را وارد كني كه كلمات يافت شده را در ليست نشان دهد و با هر بار تغيير متن محتواي ليست پاك ودوباره ليست جديد اضافه شود.
من زياد اهل بانك اطلاعاتي نيستم چون براي راحتي كار خودم يه فرمت بانك اطلاعاتي ميسازم وازش
استفاده مي كنم.مثلا برنامه شما را به روش خودم مينويسم:
دوتا تكست باكس در فرم قرار داده ويك ليست باكس زير text1 قرار دهيد و كد زير را در برنامه بنويسيد:
text1_textchange
dim a() as string
a=split(text2,"&")
for i=0 to ubound(i)
if instr(a(i),text1)<>0 then
list1.additem a(i)
end if
و كلمات مورد نظر را به جاي بانك اطلاعاتي در text2 به صورت زير مينويسيم:
مثلا اگر كلمات or,xor,ali,mp3,oranium باشند در تكست باكس 2 به صورت
or&xor&ali&mp3&oranium
مينويسيم خوبي چنين برنامه اي پورتابل بودن آن از نظر بانك اطلاعاتي است.
نقل قول: نشون دادن کلمه مشابه در یک TextBox
دوستان گرامی کسی نیست اطلاعاتی در این باره داشته باشه که بتونه به من کمک کنه.
نقل قول: نشون دادن کلمه مشابه در یک TextBox
من با pcdownload موافق نیستم چرا که وقتی پایگاه داده بزرگتر بشه CPU باید کل وقتش رو بزاره واسه پر و خالی کردن لیست باکسها و هم اتصال اون به دیتابیس. من در برنامه هام از این شیوه استفاده کردم و موفق هم بوده : در این روش شما بجای لیست باکس یه Datagrid میزاری و اونو وصل می کنی به چیزی که میخوای لیست بشه و با زدن هر کلید در تکست باکس دیتا گرید رو فیلتر میکنی اینجوری هم سرعت فیلترت بالا میره هم نیازی به پر و خالی کردن لیست باکس نداریم. تازه کد کمتری رو هم می نویسیم. نظرتون چیه؟
نقل قول: نشون دادن کلمه مشابه در یک TextBox
نقل قول:
در این روش شما بجای لیست باکس یه Datagrid میزاری و اونو وصل می کنی به چیزی که میخوای لیست بشه و با زدن هر کلید در تکست باکس دیتا گرید رو فیلتر میکنی
میبخشی من متوجه منظورت نمیشم، میشه یک برنامه نمونه بزاری تا کدهاشو نگاه کنم.درضم من منظورم از کلمه مشابه حرف به حرف کلمه بود نه کل کلمه به این هم دقت کنید. :چشمک:
نقل قول: نشون دادن کلمه مشابه در یک TextBox
نقل قول:
نوشته شده توسط
shahmahi
درضم من منظورم از کلمه مشابه حرف به حرف کلمه بود نه کل کلمه به این هم دقت کنید. :چشمک:
وقتی بخوای فیلتر کنی اینو هم مد نظر میگیری دیگه مثلا توی فیلتر بجای مساوی از like استفاده می کنی:
"fieldname like '" & text1.text & "%'"