ورود

View Full Version : جستجوی حرف به حرف



ali_mnkt
پنج شنبه 19 دی 1387, 00:36 صبح
سلام به دوستان

من یه datagrid view دارم که می خوام روش search انجام بدم یعنی یه textbox دارم که

می خوام با وارد کردن هر حرف در text box و به تدریج کامل شدن کلمه ی مورد نظر سطر های

مشابه با آن text box نمایش داده بشه (البته با حذف قسمت های کلمه نیز طبق حروف

باقی مانده اطلاعا رو نمایش بده) در اصل یه نوع جستجوی حرف به حرف مثل دیکشنری NARSIS

اگه کسی کدی مشابه با این داره راهنمایی کنه ممنون می شم کارم بد گیره :ناراحت:

jaza_sa
پنج شنبه 19 دی 1387, 01:09 صبح
میتونید در رویداد TextChanged مربوط به TextBox هر دفعه یک دستور به دیتابیس بفرستید و نتایج را نمایش بدید
راه دیگه اینکه روی DataTable این کار رو انجام بدید ( متد Select )
و ...

jasli762
پنج شنبه 19 دی 1387, 09:31 صبح
می تونید در textbox_textchanged, از طریق ارسال دستور زیر به sql به خاستتون برسین.

select ... from... where... like %textbox.text%

RED-C0DE
پنج شنبه 19 دی 1387, 10:37 صبح
اگه از لحاظ حافظه (البته باز هم اگه حجم اطلاعات خیلی زیاد هست که فکر نکنم!) مشکلی ندارین با کمک DataView اطلاعات رو فیلتر کنین و نمایش بدین...

ali_mnkt
پنج شنبه 19 دی 1387, 13:24 عصر
من نمی خوام زیاد با database در ارتباط باشم چون سرعت رو کند میکنه من کل اطلاعاتم رو

تو datagrid view ریختم آیا امکان این کار از طریق datagrid view نیست ؟ و یا روش دوستمون

RED-C0DE یعنی فیلتر کردن datagrid view آیا این امکان رو می ده که هر بار به database

وصل نشد و عمل جستجو رو فقط روی datagrid view انجام داد ؟

ali_mnkt
جمعه 20 دی 1387, 00:38 صبح
کسی نیست گیر ما رو حل کنه ؟

ali_mnkt
جمعه 20 دی 1387, 18:16 عصر
بابا یه کمکی کنید ثواب داره :ناراحت:

محمدامین شریفی
شنبه 21 دی 1387, 00:18 صبح
آقا علی چرا اینقدر عجله داری.
دوستان که جواب رو دادند.
خوب اینجوری داده هات رو بریز توی یک datatable:


select ... from... where... like %textbox.text%
بعدش از روش دومی که رفیقم گفت:


میتونید در رویداد TextChanged مربوط به TextBox هر دفعه یک دستور به دیتابیس بفرستید و نتایج را نمایش بدید
راه دیگه اینکه روی DataTable این کار رو انجام بدید ( متد Select )
اگر دقت کنید gridview هم چیز خواصی نیست!،تشکیل شده از چند object مختلف(همونجوری که خودت توی edit item مشخص میکنی).پس حالا به قول دوستمون:

اگه از لحاظ حافظه (البته باز هم اگه حجم اطلاعات خیلی زیاد هست که فکر نکنم!) مشکلی ندارین با کمک DataView اطلاعات رو فیلتر کنین و نمایش بدیناینم دومین راه حلی که دوستان گفتند:


DataView DataView1=new DataView();
DataView1.RowFilter = "Column_Name = " + "%" + TextBox1.Text.trim() + "%";
alterDataGridView.DataSource = DataView1;
پیروز باشید.

Hossein_Rezaei_Adineh
شنبه 21 دی 1387, 08:14 صبح
سلام
می تونی از کامپوننت های Dx استفاده کنی