PDA

View Full Version : کمک در کوئری سرچ



arfaie
چهارشنبه 14 مهر 1395, 00:21 صبح
باسلام خدمت تمامی دوستان گرامی!
من یک کوئری نوشتم تا بتونم باهاش دیتالیستی که توی صفحه ام دارم رو با استفاده از 3 تا dropdown فیلتر کنم!
کوئری زمانی که همه dropdown ها انتخاب شده به خوبی کا میکنه!
ولی فقط یکی رو انتخاب نمیکینم ، چیزی پیدا نمیکنه نشون بده!
ولی من میخوام فیلتر کنم اگه ، حتی فقط یکی از اونها امتخاب شده باشه!
ممنون میشم اگه کمکم کنید!


int type = int.Parse(drpType.SelectedValue);
int contract = int.Parse(drpContract.SelectedValue);
int location = int.Parse(drpLocation.SelectedValue);

var select= db.View_Properties.Where(x => (x.idProType == type || x.idProType == null) && (x.idContract == contract || x.idContract == null) && (x.idLocation == location || x.idLocation == null));
DataList1.DataSource = select.ToList();
DataList1.DataBind();

/*Contract*//*Contract*/ drpContract.DataTextField = "ContractName";
drpContract.DataValueField = "idContract";
drpContract.DataSource = db.tbl_Contracts.ToList();
drpContract.DataBind();
drpContract.Items.Insert(0, new ListItem("نوع معامله", "0"));
/*Type*/
drpType.DataTextField = "TypeName";
drpType.DataValueField = "idProType";
drpType.DataSource = db.tbl_ProTypes.ToList();
drpType.DataBind();
drpType.Items.Insert(0, new ListItem("نوع ملک", "0"));
/*Location*/
drpLocation.DataTextField = "LocationName";
drpLocation.DataValueField = "idLocation";
drpLocation.DataSource = db.tbl_Locations.ToList();
drpLocation.DataBind();
drpLocation.Items.Insert(0, new ListItem("خیابان", "0"));

kamranetemadi
چهارشنبه 14 مهر 1395, 12:17 عصر
برای ورودی های کوئری مقدار پیشفرض بذارید

arfaie
پنج شنبه 15 مهر 1395, 11:24 صبح
برای ورودی های کوئری مقدار پیشفرض بذارید
ممنون از پاسختون!
علاوه بر اینکه مقدار ورودی رو باید روی پیشفرض ست میکردم باید قسمت دوم رو هم به صورت زیر تغییر میدادم:


var select = db.View_Properties.Where(x => (x.idProType == type || type==0) && (x.idContract == contract || contract==0) && (x.idLocation == location || location==0));


این کوئری اوطوری ک من انتظار داشتم کار میکنه :-)