PDA

View Full Version : سوال: جستجوی پیشرفته در اطلاعات DataGridView



Alireza7581
سه شنبه 08 بهمن 1392, 10:41 صبح
با عرض سلام و احترام خدمت اساتید گرامی

داخل برنامه ام یه DataGridView دارم که به اطلاعات جدولیبه نام tbl_student دسترسی داره. می خوام امکانی بزارم که تو یه TextBox و رویداد TextChangeش هر وقت کاربر قسمتی از نام دانشجو رو نوشت، داخل DataGridView نام دانشجو رو select کنه.
مثلا 100 تا رکورد دارم و دانشجویی به نام علیرضا هم وجود داره. می خوام وقتی تو text می نویسم ع , عل و... همینطوری ادامه، داخل DataGridView اون دانشجو رو select کنه. امیدوارم که منظور رو خوب رسونده باشم.
از قبل ممنونم
با تشکر

arash_flag
سه شنبه 08 بهمن 1392, 11:20 صبح
سلام به شما دوست عزیز

شما میتوانید از دستور select به همراه like استفاده کنید .....
مانند :
select * from tbl_student where s_name like N' %" + txtname.text + " %'

N بخاطر unicode هست یعنی اگه فارسی هم بود قبول می کنه
% هم به معنی اینه که اگه اسم وارد شده وجود دارد در اول ، آخر یا .......


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

forodo
سه شنبه 08 بهمن 1392, 12:40 عصر
سلام
سعی کن توی خود دیتاگریدویو جستجو رو انجام بدی و تا می تونی ارتباط با بانک کم باشه.
توی رویداد TextChanged تکست باکس بنویسش.

for (int i = 0; i < radGridView1.Rows.Count; i++)
{
if (radGridView1.Rows[i].Cells["column1"].Value.ToString().ToLower().Contains(textBox1.Text .Trim().ToLower()))
{
// انتخاب شدن سطر پیدا شده
break;
}
}

pay_hossein
دوشنبه 11 فروردین 1393, 15:43 عصر
سلام
سعی کن توی خود دیتاگریدویو جستجو رو انجام بدی و تا می تونی ارتباط با بانک کم باشه.
توی رویداد TextChanged تکست باکس بنویسش.

for (int i = 0; i < radGridView1.Rows.Count; i++)
{
if (radGridView1.Rows[i].Cells["column1"].Value.ToString().ToLower().Contains(textBox1.Text .Trim().ToLower()))
{
// انتخاب شدن سطر پیدا شده
break;
}
}

سلام دوست من بابت کدی که گذاشتی ممنون
من از کدی که گذاشته بودید استفاده کردم و عملیات سرچ انجام میشه ولی تو اون قسمتی که نوشتید انتخاب شدن سطر پیدا شده میخوام کدی بذارم که اطلاعاتی که تو گرید نمایش داده میشه فقط همون اطلاعات سرچ شده باشه ممنون میشم پاسخ بدید.

khokhan
دوشنبه 11 فروردین 1393, 16:28 عصر
سلام دوست من بابت کدی که گذاشتی ممنون
من از کدی که گذاشته بودید استفاده کردم و عملیات سرچ انجام میشه ولی تو اون قسمتی که نوشتید انتخاب شدن سطر پیدا شده میخوام کدی بذارم که اطلاعاتی که تو گرید نمایش داده میشه فقط همون اطلاعات سرچ شده باشه ممنون میشم پاسخ بدید.
همونجا یه حلقه دیگه بگذار و هر ردیفی که شرط رو قبول نداره حذف بشه و اونایی که شرط رو قبول دارن باقی بمونن:متفکر:

pay_hossein
یک شنبه 07 اردیبهشت 1393, 15:48 عصر
همینکارو میکنم ولی ارور میده
برای دلیت کردن از کد visible استفاده میکنم ولی اون خط هایی که select هستن رو نمیتونه حذف کنه و خیلی سعی کردم درستش کنم نشد

hamid_hr
یک شنبه 07 اردیبهشت 1393, 16:22 عصر
اول اینو بزن
Dgv.CurrentCell = null;
بعد visable رو برابر با false کن