PDA

View Full Version : سوال: چگونه جستجوی پیشرفته ی تو در تو ایجاد کنم



malaki.davud
چهارشنبه 28 دی 1390, 00:54 صبح
با سلام من می خوام داخل یه فرم جستجویی قرار بدم که بتوان بر اساس هر تعداد از text bax ها بتونم سرچ کنم مثلا می خوام در 3 text bax نام ، نام خانوادگی ، سن هر کدام و یا هر تعداد از انها رو که پر کرد بتونم سرچ کنم ممنون می شم راهنمایی کنید

ali_habibi1384
چهارشنبه 28 دی 1390, 17:02 عصر
اگه منظورت چيزي شبيه به سرچهاي گوگله من اين كارو براي چند ستون متفاوت در ديتا گريد .كدم. ميذارم خودت تغييرش بده:


if (txtSearch.Text == "")
{
LoadData();
return;
}
string[] arrSearch = new string[10];
arrSearch = txtSearch.Text.Split(' ');
string strSearch = "";
string strSearchMain = "";
for (int i = 0; i < arrSearch.Length; i++)
{
if (strSearchMain != "")
strSearchMain = strSearchMain + " And ";
if (DataAccessLayer.SetInterface.IsInteger(arrSearch[i]) == true)
{
if (strSearch == "")
{
strSearch += "CategoryName like '%" + arrSearch[i] + "%' Or DateRecord like '%" + arrSearch[i] + "%' Or Model like '%" + arrSearch[i] + "%' Or State like '%" + arrSearch[i] + "%' Or Keshvar like '%" + arrSearch[i] + "%' Or Moshakhasat like '%" + arrSearch[i] + "%' Or Tozihat like '%" + arrSearch[i] + "%' Or Code =" + Convert.ToInt32(arrSearch[i]) + " Or SaleSakht =" + Convert.ToInt32(arrSearch[i]) + " Or DarsadKarkard =" + Convert.ToInt32(arrSearch[i]) + " Or Price =" + Convert.ToInt32(arrSearch[i]) + " Or Tedad =" + Convert.ToInt32(arrSearch[i]) + " Or CodeShakhs =" + Convert.ToInt32(arrSearch[i]) + "";
}
else
{
strSearch += " Or CategoryName like '%" + arrSearch[i] + "%' Or DateRecord like '%" + arrSearch[i] + "%' Or Model like '%" + arrSearch[i] + "%' Or State like '%" + arrSearch[i] + "%' Or Keshvar like '%" + arrSearch[i] + "%' Or Moshakhasat like '%" + arrSearch[i] + "%' Or Tozihat like '%" + arrSearch[i] + "%' Or Code =" + Convert.ToInt32(arrSearch[i]) + " Or SaleSakht =" + Convert.ToInt32(arrSearch[i]) + " Or DarsadKarkard =" + Convert.ToInt32(arrSearch[i]) + " Or Price =" + Convert.ToInt32(arrSearch[i]) + " Or Tedad =" + Convert.ToInt32(arrSearch[i]) + " Or CodeShakhs =" + Convert.ToInt32(arrSearch[i]) + "";
}
}
else
{
if (strSearch == "")
{
strSearch += "CategoryName like '%" + arrSearch[i] + "%' Or DateRecord like '%" + arrSearch[i] + "%' Or Model like '%" + arrSearch[i] + "%' Or State like '%" + arrSearch[i] + "%' Or Keshvar like '%" + arrSearch[i] + "%' Or Moshakhasat like '%" + arrSearch[i] + "%' Or Tozihat like '%" + arrSearch[i] + "%'";
}
else
{
strSearch += " Or CategoryName like '%" + arrSearch[i] + "%' Or DateRecord like '%" + arrSearch[i] + "%' Or Model like '%" + arrSearch[i] + "%' Or State like '%" + arrSearch[i] + "%' Or Keshvar like '%" + arrSearch[i] + "%' Or Moshakhasat like '%" + arrSearch[i] + "%' Or Tozihat like '%" + arrSearch[i] + "%'";
}
}
strSearch = "( " + strSearch + " )";
strSearchMain += strSearch;
strSearch = "";
}
dt.DefaultView.RowFilter = strSearchMain ;