PDA

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



iran_sky
دوشنبه 03 آبان 1389, 11:36 صبح
با سلام به دوستان
مشکل این کد کجاست
وقتی اولین کاراکتر رو تایپ میکنم grid خالی شده و هیچ کاری انجام نمیشه


private void txt_search_TextChanged(object sender, EventArgs e)
{
var db = new LinqMembersDataContext();
if (txt_search.Text=="")
{
gv_info.DataSource = db.phones; //Load All Record To Grid
}
else
{
if (rb_tel.Checked==true)
{
gv_info.DataSource=db.phones.Where(c=> c.lastname.Substring(txt_search.Text.Length)==txt_ lastname.Text).Select(c=>c);
}
else
{
if (rb_lastname.Checked==true)
{
gv_info.DataSource=db.phones.Where(c=> c.lastname.Substring(txt_search.Text.Length)==txt_ lastname.Text).Select(c=>c);
}
}
}
}

iran_sky
دوشنبه 03 آبان 1389, 12:13 عصر
کسی نیست کمکم کنه

Reza_Yarahmadi
دوشنبه 03 آبان 1389, 12:19 عصر
فكر كنم اگه كدتون رو بصورت زير تغيير بديد درست بشه

gv_info.DataSource=db.phones.Where(c=> c.lastname.Substring(0, txt_search.Text.Length)==txt_lastname.Text).Select (c=>c);

navidiran
دوشنبه 03 آبان 1389, 12:20 عصر
تجربه من دوتا نکته رو اشاره می کنه. اینها رو امتحان کن ببین شاید جواب بگیری:
1- بجای دستور :

gv_info.DataSource=db.phones.Where(c=> c.lastname.Substring(txt_search.Text.Length)==txt_ lastname.Text).Select(c=>c);
از این دستور استفاده کن:

gv_info.DataSource=db.phones.Where(c=> c.lastname.contain(txt_lastname.Text)).FirstOrDefo ult();
حالا یک چیزی توی این مایه ها که باید خودتون تنظیمات بعدی رو ادامه بدین.
دومین تجربم هم این رو میگه که برای مقایسه string ها همیشه از .trim() استفاده کن.