PDA

View Full Version : جستجو از چند فیلد



es.es.es
یک شنبه 03 دی 1391, 10:36 صبح
سلام
من اطلاعات جدولمو ربختمو تو یه دیتا گرید
حالا مبخوام از چندتا از فیلداش جستجو بزنم مثلا مردهایی که اسمشون علی و 20سالشونه اهل تهرانم هستند چطوری باید این کار رو بکنم

sinashahab
یک شنبه 03 دی 1391, 12:56 عصر
با استفاده از AND یعنی
where [name] = 'ali' AND [city] = 'tehran'

اوکی؟

es.es.es
دوشنبه 04 دی 1391, 00:40 صبح
من دیگه نمیخوام کوءری بزنم میخوام از رو همون گرید ویو سرچ کنم

Mahmoud.Afrad
دوشنبه 04 دی 1391, 00:47 صبح
دیتاتیبلی که به دیتاسورس گرید دادید را فیلتر کنید. مثال:
dt.DefaultView.RowFilter = "name like '%" + textBox1.Text + "%' and lastname like '%" + textBox2.Text + "%'";

es.es.es
دوشنبه 04 دی 1391, 12:05 عصر
حالا اگه بخوایم یه فیلدو خالی بذاریم چی مثلا سن واسمون مهم نباشه و تکست باکسی که واسه سن در نظر گرفتیمو خالی بذاریم چی

مهرداد صفا
دوشنبه 04 دی 1391, 12:40 عصر
حالا اگه بخوایم یه فیلدو خالی بذاریم چی مثلا سن واسمون مهم نباشه و تکست باکسی که واسه سن در نظر گرفتیمو خالی بذاریم چی

سلام
قبل از جستجو:

if(TextBox.text="") TextBox.Text="*";

Mahmoud.Afrad
دوشنبه 04 دی 1391, 18:15 عصر
بایستی با if چک کنید در صورتی که محتوای تکست باکس ها خالی نبود عبارت مورد نظر رو به رشته فیلتر اضافه کنید.(در انتها رشته همیشه درست 1=1 رو به رشته فیلتر اضافه کردیم تا به and آخر رشته خطا نگیره):

string filter = string.Empty;
if (txtName.Text.Trim() != string.Empty)
{
filter += "name like '%" + txtName.Text.Trim() + "%' and ";
}
if (txtLastName.Text.Trim() != string.Empty)
{
filter += "lastname like '%" + txtLastName.Text.Trim() + "%' and ";
}
// check another textboxes
filter += " 1=1 ";
dt.DefaultView.RowFilter = filter;

es.es.es
پنج شنبه 07 دی 1391, 21:03 عصر
دوستان یه سوال دیگه الان میخوام سرچم بین دو فیلد باشه یعنی اونایی که حقوقشون بین 100تا300تومنه )مثلا(
این کدرو میزنم خطا میده
filter = "hoghogh between " textbox1.text " and " textbox2.text " and";

Mahmoud.Afrad
شنبه 09 دی 1391, 00:47 صبح
اینطور بنویسید(تک کوتیشن ها و الحاق(+) فراموش نشه):
filter = "hoghogh >='" + textbox1.text + "' and hoghogh <='" + textbox2.text + "' and";