PDA

View Full Version : اعمال فیلتر و اضافه کردن شرط به کوئری در صورت پر بودن هر یک از تکست باکس ها



negar.rafie
دوشنبه 08 شهریور 1395, 10:28 صبح
با سلام
بنده از entity framework استفاده میکنم
حالا روی فرم 4 عدد تکست باکس دارم:

نام
میزان خرید
تاریخ خرید
قیمت

یعنی در داخل دیتابیس جدولی هم دارم که فیلدهاش اینا هستند و اطلاعات خرید نگهداری میشه
حالا یه قسمتی دارم برای سرچ
حالا میخوام بررسی کنم که اگر هر یک از تکس باکس ها خالی نبود در جستجو شرکت داده بشه
مثلا کد زیر را ببینید:

db.tbl1.Where(x => x.name == txtname.Text && x.mizanKharid==txtmizanKharid.Text).ToList();

میخوام وقتی تکست های نام و میزان خرید خالی نبود اینطوری باشه و کوئری شامل این شرط ها باشه

و مثلا:

db.tbl1.Where(x => x.name == txtname.Text && x.mizanKharid==txtmizanKharid.Text && x.TarikhKharid==txtTarikhKharid.Text ).ToList();

میخوام وقتی تکست های نام و میزان خرید و تاریخ خرید خالی نبود اینطوری باشه و کوئری شامل این شرط ها باشه

والی اخر

حالا نمیخوام بیام از if استفاده کنم و تمام حالت ها را چک و میخوام در خود کوئری این کار را کنم تا فقط یک خط کد برای سرچ بنویسم نه چندین خط

Mahmoud.Afrad
دوشنبه 08 شهریور 1395, 13:17 عصر
به ازای هر پراپرتی که در جستجو مورد بررسی قرار میگیرد میتونید با یک شرط بررسی کنید و در صورت وارد شدن توسط کاربر مقدار را در جستجو شرکت بدید. با این عمل نیاز نیست همه ترکیبات رو جدا در نظر بگیرید.
روش اول در لینک زیر رو ببینید
http://barnamenevis.org/showthread.php?471215-%D8%AC%D8%B3%D8%AA%D8%AC%D9%88%DB%8C-%D9%BE%DB%8C%D8%B4%D8%B1%D9%81%D8%AA%D9%87-%D8%AF%D8%B1-Entity-FrameWork-(%D9%85%D9%82%D8%A7%DB%8C%D8%B3%D9%87-%D8%AC%D8%B3%D8%AA%D8%AC%D9%88-%D8%AF%D8%B1-%D8%AF%DB%8C%D8%AA%D8%A7%D8%A8%DB%8C%D8%B3-%D9%88-%D9%81%DB%8C%D9%84%D8%AA%D8%B1-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA-%D8%A7%D8%B2-%D9%82%D8%A8%D9%84-%D9%84%D9%88%D8%AF-%D8%B4%D8%AF%D9%87)