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

نام تاپیک: دستور linq با شرط های مختلف

  1. #1

    دستور linq با شرط های مختلف

    سلام دوستان
    به چه روشی میتونیم دستورات linq رو با توجه به انتخاب کاربر دستکاری کردش که از کد نویسی فراوان جلوگیری کنیم ؟
    تو برنامه odb قدیمی تر از یه رشته برای اینکار استفاده می کردیم الان چی ؟؟؟
    کد اصلی

    var test=DB.View_tblHeders.Where(p =>p.IDmarkaz == Convert.ToInt32(CbMarkaz.SelectedValue)
    && p.IDsazman == Convert.ToInt32(cbSazman.SelectedValue)
    && p.DateNos.CompareTo(MtxtDateIn.Text) > -1
    && p.DateNos.CompareTo(MtxtDateEnd.Text) < 1);

    کدهای متغییر(که البته اشتباه هستش)

    if (chBoxpayGroup.Checked == true && chBoxDoctorsGroup.Checked == false)
    {
    SQL += "&& p.PayGroup == Convert.ToInt32(CbGroupkhadmat.SelectedValue)";
    }
    else if (chBoxpayGroup.Checked == true && chBoxDoctorsGroup.Checked == true)
    SQL += "&& p.PayGroup == Convert.ToInt32(CbGroupkhadmat.SelectedValue) && p.CodeGroupTakhasos == Convert.ToInt32(CbDoctorsTakhasos.SelectedValue)";
    else if (chBoxpayGroup.Checked == false && chBoxDoctorsGroup.Checked == true)
    SQL += "&& p.CodeGroupTakhasos == Convert.ToInt32(CbDoctorsTakhasos.SelectedValue)";
    SQL+=".OrderBy(t => t."+Sorting+");";

  2. #2

    نقل قول: دستور linq با شرط های مختلف

    طبق روش اول لینک زیر که توضیح هم داده ام
    https://barnamenevis.org/showthread.p...4%D8%AF%D9%87)

  3. #3

    نقل قول: دستور linq با شرط های مختلف

    مرسی از کمک و راهنمائی شما
    در خصوص مرتب سازی هم ممنون میشم راهنمائی بفرمائید من چند تا رادیوباتم توئی فرم قرار دادم میخوام براساس اون جستجو کنم

    if (radioPaygroup.Checked == true)
    Q = Q.ToList().Sort(t => t.PayGroup);
    else if (radioDoctorNezam.Checked == true)
    Q = Q.ToList().Sort(t => t.DateNos && t.IDnos);
    else if (radioPayGroupNezamDate.Checked == true)
    Q = Q.ToList().Sort(t => t.DateNos && t.IDnos);
    else if (radioDrNezamPaygroup.Checked == true)
    Q = Q.ToList().Sort(t => t.DateNos && t.IDnos);
    else
    Q = Q.ToList().Sort(t => t.DateNos && t.IDnos);

  4. #4

    نقل قول: دستور linq با شرط های مختلف

    سعی کنید متد ToList آخرین متدی باشد که فراخوانی میشود.

    از متد OrderBy برای مرتب سازی صعودی و OrderByDescending برای نزولی استفاده کنید
                if (radioPaygroup.Checked)
    Q = Q.OrderBy(t => t.PayGroup);
    // ...
    dataGridView1.DataSource = Q.ToList();

  5. #5
    کاربر تازه وارد
    تاریخ عضویت
    آذر 1395
    محل زندگی
    تهران
    پست
    61

    نقل قول: دستور linq با شرط های مختلف

    using (var ctx = new  SchoolDBEntities())
    {
    var studentName = ctx.Students.SqlQuery("Select studentid, studentname
    from Student where studentname='New Student1'").ToList();

    }

  6. #6

    نقل قول: دستور linq با شرط های مختلف

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    سعی کنید متد ToList آخرین متدی باشد که فراخوانی میشود.

    از متد OrderBy برای مرتب سازی صعودی و OrderByDescending برای نزولی استفاده کنید
                if (radioPaygroup.Checked)
    Q = Q.OrderBy(t => t.PayGroup);
    // ...
    dataGridView1.DataSource = Q.ToList();

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

    var Q = DB.View_tblHeders.AsQueryable();
    Q = Q.Where(p =>p.IDmarkaz == Convert.ToInt32(CbMarkaz.SelectedValue)
    && p.IDsazman == Convert.ToInt32(cbSazman.SelectedValue)
    && p.DateNos.CompareTo(MtxtDateIn.Text) > -1
    && p.DateNos.CompareTo(MtxtDateEnd.Text) < 1);
    if (chBoxpayGroup.Checked == true && chBoxDoctorsGroup.Checked == false)
    Q = Q.Where(p=> p.PayGroup == Convert.ToInt32(CbGroupkhadmat.SelectedValue));
    else if (chBoxpayGroup.Checked == true && chBoxDoctorsGroup.Checked == true)
    Q=Q.Where(p=> p.PayGroup == Convert.ToInt32(CbGroupkhadmat.SelectedValue) && p.CodeGroupTakhasos == Convert.ToInt32(CbDoctorsTakhasos.SelectedValue));
    else if (chBoxpayGroup.Checked == false && chBoxDoctorsGroup.Checked == true)
    Q = Q.Where(p=> p.CodeGroupTakhasos == Convert.ToInt32(CbDoctorsTakhasos.SelectedValue));
    if (radioPaygroup.Checked == true)
    Q = Q.OrderBy(t => t.PayGroup );
    else if (radioDoctorNezam.Checked == true)
    Q = Q.OrderBy(t => t.DoctorNezam );
    else if (radioPayGroupNezamDate.Checked == true)
    Q = Q.OrderBy(t => t.PayGroup + t.DoctorNezam );
    else if (radioDrNezamPaygroup.Checked == true)
    Q = Q.OrderBy(t => t.DoctorNezam + t.PayGroup);
    else
    Q = Q.OrderBy(t => t.DateNos + t.IDnos);
    //MessageBox.Show(Q.ToString());//
    dgv.DataSource = Q.ToList();

    به عنوان مثالا DoctorNezam رو انتخاب میکنم پزشکان من مرتب میشه ولی فقط در یک روز در روز دوم دوباره از اول مرتب میشه!!!!!!

    13.png
    خروجی بالا
    12.png
    آخرین ویرایش به وسیله Yanehsar : سه شنبه 30 آذر 1395 در 21:41 عصر

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

  1. نمایش اطلاعات یک جدول با شرط های مختلف در dataGridView
    نوشته شده توسط vb-sosol در بخش C#‎‎
    پاسخ: 2
    آخرین پست: شنبه 29 اسفند 1394, 05:32 صبح
  2. پاسخ: 1
    آخرین پست: شنبه 01 مهر 1391, 01:51 صبح
  3. کم کردن مقادیر برگشتی از دو SUM با شرط های مختلف
    نوشته شده توسط samprp در بخش SQL Server
    پاسخ: 1
    آخرین پست: شنبه 07 اردیبهشت 1387, 16:58 عصر
  4. نوشتن Query با شرط های مختلف
    نوشته شده توسط hamidyha در بخش VB.NET
    پاسخ: 4
    آخرین پست: سه شنبه 25 اردیبهشت 1386, 00:47 صبح
  5. سازگاری با browser های مختلف
    نوشته شده توسط marvel در بخش طراحی وب (Web Design)
    پاسخ: 6
    آخرین پست: چهارشنبه 15 آذر 1385, 14:41 عصر

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

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