نمایش نتایج 1 تا 5 از 5

نام تاپیک: جستجو براساس انتحاب کاربر

  1. #1

    جستجو براساس انتحاب کاربر

    سلام دوستان وقت بخیر
    برای ایجاد یه جستجو پیشرفته با استفاده از linq چیکار باید کرد ؟؟؟؟
    چندین حالت انتخاب به کاربر داده میشه با استفاده از کامبوباکس های مختلف که امکان داره کاربر انتخاب کنه یا نکنه در روش های قدیم با دستور sql رو رشته ای تعریف می کردیم و باید دائما رشته رو + جمع می کردیم داخل linq به چه صورت هستش ؟؟؟؟
    ممنون از راهنمائی دوستان

  2. #2
    کاربر دائمی آواتار ShayanFiroozi
    تاریخ عضویت
    شهریور 1397
    محل زندگی
    بندرعباس ، خلیج همیشه فارس
    سن
    38
    پست
    222

    نقل قول: جستجو براساس انتحاب کاربر

    سلام دوست گرامی ،

    اگر نمونه کد میذاشتین بهتر بود ، اما در LINQ شما هم میتونین از AND و OR استفاده کنین و هم خاصیت FirstOrDefault() که اگر کاربر انتخاب کرده بود مقدار رو در نظر میگیره اگر نه string.Empty در نظر گرفته میشه.

  3. #3

    نقل قول: جستجو براساس انتحاب کاربر

    نقل قول نوشته شده توسط ShayanFiroozi مشاهده تاپیک
    سلام دوست گرامی ،

    اگر نمونه کد میذاشتین بهتر بود ، اما در LINQ شما هم میتونین از AND و OR استفاده کنین و هم خاصیت FirstOrDefault() که اگر کاربر انتخاب کرده بود مقدار رو در نظر میگیره اگر نه string.Empty در نظر گرفته میشه.
    متاسفانه نمونه کد ندارم که دچار خطا بشم
    and و OR برای وقتی هستش که ما دقیقا از اول بدونیم کاربر چه جستجوی انجام میده
    مثال عرض میکنیم ما اطلاعاتی رو ثبت کردیم داخل ویو ما اطلاعات مانند جنست ، تاهل ، تعداد فرزند و... باشه
    یکبار کاربر جستجوی انجام میده که جنسیت زن را گزارش بده خوب جستجو هم مشخصه
    یکبار کاربر میادش میگه خانم های متاهل رو گزارش بده الان با شرط من تغییر کنه یعنی and بزارم
    یکبار کاربر میگه افراد متاهل(بدون در نظر گرفتن جنسبت)
    و....
    حالت های مختلف جستو رو باید داشته باشه داخل روش های قدیمی یه همچنین کاری میکردیم
    کد زیر کپی شده هستش کاری که کرده از چک باکس استفاده کرده اگر چک خورده باشه به رشته Sqlcommand اضافه میکنه(البته نمونه کد vb هستش)

    dim strsql as string="select * from soorat where "
    if rbtSalYes.Checked=true
    strsql+=" sal ='" cboSal.text+"' and "
    endif
    if chkTarikhJalase.checked=true
    strsql+=" tarikh>='"txtAzTarikh.text+"' and tarikh<=' "+txtTaTarikh.text "' and "
    endif
    if chkSharh.check=ture
    strsql+="' sharh='"+txtSharh.text+"' and "



    حالا برای linq چیکار باید کرد ؟

  4. #4
    کاربر دائمی آواتار ShayanFiroozi
    تاریخ عضویت
    شهریور 1397
    محل زندگی
    بندرعباس ، خلیج همیشه فارس
    سن
    38
    پست
    222

    Lightbulb نقل قول: جستجو براساس انتحاب کاربر

    این کلاس رو در نظر بگیرید و فرض کنید بانک اطلاعاتی شماست :

    public enum Gender
    {
    Not_Specified = -1,
    Male = 0,
    Female = 1


    }


    private class Person
    {
    public string Name { get; set; }
    public string Family { get; set; }
    public int Age { get; set; }
    public Gender Gender { get; set; }
    }


    حالا چند نمونه با مقدار از روی اون میسازیم :



    List<Person> People = new List<Person>();


    People.Add(new Person() { Name = "Shayan", Family = "Firoozi", Gender = Gender.Male, Age = 35 });
    People.Add(new Person() { Name = "A", Family = "B", Gender = Gender.Female, Age = 33 });
    People.Add(new Person() { Name = "C", Family = "D", Gender = Gender.Female, Age = 18 });



    فرض کنید اینها مقادیری هستند که از کاربر گرفته میشن ، که میتونن مقدار داشته باشند یا خالی باشند :



    string _filter_name = "Shayan";
    string _filter_family = "";
    Gender _filter_gender = Gender.Not_Specified;
    int filter_age = 35;


    به این شکل روی اونا کوئری میزنیم :

    List<Person> myList = People.Where(p => _filter_name.Length == 0 || p.Name == _filter_name)
    .Where(p => _filter_family.Length == 0 || p.Family == _filter_family)
    .Where(p => _filter_gender == Gender.Not_Specified || p.Gender == _filter_gender)
    .Where(p => filter_age == 0 || p.Age == filter_age).ToList();

  5. #5

    نقل قول: جستجو براساس انتحاب کاربر

    از متد AsQueryable استفاده کنید و بعد با بررسی ورودی ها شرط ها را اعمال کنید
    روش اول لینک زیر
    https://barnamenevis.org/showthread....4%D8%AF%D9%87)

تاپیک های مشابه

  1. پاسخ: 5
    آخرین پست: چهارشنبه 22 شهریور 1402, 14:26 عصر
  2. آموزش: پرشین استخر،بزرگترین سایت آموزش ساخت استخر How Make Swimmin Pools-Persian Pool
    نوشته شده توسط soroushm در بخش آگهی‌ها
    پاسخ: 0
    آخرین پست: یک شنبه 12 شهریور 1396, 07:35 صبح
  3. استخدام برنامه نویس در استان همدان شهرستان تویسرکان
    نوشته شده توسط alvandyhamed در بخش آگهی های استخدام
    پاسخ: 0
    آخرین پست: جمعه 07 مرداد 1390, 17:26 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •