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

نام تاپیک: Sort نشدن datagridview بعد از استفاده از کوئری توسط لامبدا

  1. #1

    Sort نشدن datagridview بعد از استفاده از کوئری توسط لامبدا

    با سلام
    دیتاسورس گریدم رو از طریق لامبدا مقدار دهی کردم .
    ولی الان که رویه ستونهاش کلیک میکنم Sort انجام نمیشه .


    public List<TblPerson> GetAllPerson()
    {
    return db.TblPerson.OrderBy(c=>c.PersonCode).ToList();


    }





    void BindGrid()
    {
    using (UnitOfWork db = new UnitOfWork())
    {
    dataGridView1.AllowUserToOrderColumns = true;
    dataGridView1.AutoGenerateColumns = false;
    dataGridView1.DataSource = db.PersonRepository.GetAllPerson();
    }
    }



    چطور میتونم مشکل رو حلش کنم ؟
    قبلا با ADO کار میکردم و دیتاتیبل رو به عنوان دیتاسورس گرید میزاشتم و مشکلی نبود .

  2. #2
    کاربر دائمی آواتار alexmcse
    تاریخ عضویت
    فروردین 1391
    محل زندگی
    شیراز
    پست
    860

    نقل قول: Sort نشدن دیتاگریدویو بعد از استفاده از کوئری توسط لامبدا

    متغییر db را نیو کنید
    db=کلاس مورد نظر
    مثال
    db = new DataClasses1DataContext();

    ببین مشکل حل میشود

  3. #3

    نقل قول: Sort نشدن دیتاگریدویو بعد از استفاده از کوئری توسط لامبدا

    نه . مشل حل نشد .
    فکر کنم گیر کار اون لیست شدنه باشه که نمیدونم چه باس بکنم

  4. #4

    نقل قول: Sort نشدن دیتاگریدویو بعد از استفاده از کوئری توسط لامبدا

    سلام، بنده تا حالا از مرتب سازی دیتاگرید استفاده نکردم اما احتمالا باید ایونتی مربوط به کلیک روی ستون ها وجود داشته باشه که وقتی فایر شد، شما باید متناسب با ستون کلیک شده داده هارو بصورت دستی sort کنین

  5. #5

    نقل قول: Sort نشدن دیتاگریدویو بعد از استفاده از کوئری توسط لامبدا

    اگه امکان داره یه نمونه بزارید .
    یا دوستان دیگه اگه به این مشکل بر خوردن یه راه حل بدن که جواب داده باشه

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



    foreach(DataGridViewColumn column in dataGridView1.Columns)
    {


    column.SortMode = DataGridViewColumnSortMode.Automatic;
    }



  6. #6
    مدیر بخش آواتار danialafshari
    تاریخ عضویت
    تیر 1387
    محل زندگی
    هر کجا هستم باشم آسمان مال من است
    پست
    2,909

    نقل قول: Sort نشدن دیتاگریدویو بعد از استفاده از کوئری توسط لامبدا

    با سلام
    روی مثلت گوشه datagridview کلیک کنید و در صفحه ظاهر شده روی تمام فیلد ها خاصیت SortMode رو روی Automatic قرار بدید
    موفق باشید
    لطفاً از پرسیدن سوال در خصوصی خودداری کنید.
    قبل از ایجاد تاپیک، حتماً قوانین سایت را مطالعه فرمایید.
    قوانین پرسش های دانشجویی
    برای درست وارد شدن کد در قالب C#‎‎‎ سایت، ابتدا کد رو درون Notepad.exe کپی سپس از اونجا به سایت در قالب C#‎‎‎ منتفل کنید
    نرم افزار code manager دستیار برنامه نویسان جهت نگهداری کد ها

  7. #7

    نقل قول: Sort نشدن دیتاگریدویو بعد از استفاده از کوئری توسط لامبدا

    نقل قول نوشته شده توسط danialafshari مشاهده تاپیک
    با سلام
    روی مثلت گوشه datagridview کلیک کنید و در صفحه ظاهر شده روی تمام فیلد ها خاصیت SortMode رو روی Automatic قرار بدید
    موفق باشید
    تمام فیلدها Automatic هست ولی بازم Sort نمیشه

  8. #8

    نقل قول: Sort نشدن datagridview بعد از استفاده از کوئری توسط لامبدا

    https://referencesource.microsoft.co...BindingList.cs
    لینک بالا یک کلاس هست. کافیه به پروژه اضافه و به صورت زیر استفاده کنید.
                var allPerson = db.PersonRepository.GetAllPerson();
    SortableBindingList<TblPerson> list = new SortableBindingList<TblPerson>(allPerson);
    dataGridView1.DataSource = list;
    آخرین ویرایش به وسیله Mahmoud.Afrad : جمعه 18 آبان 1397 در 05:52 صبح

  9. #9
    مدیر بخش آواتار danialafshari
    تاریخ عضویت
    تیر 1387
    محل زندگی
    هر کجا هستم باشم آسمان مال من است
    پست
    2,909

    نقل قول: Sort نشدن datagridview بعد از استفاده از کوئری توسط لامبدا

    با سلام
    کتابخانه System.Linq.Dynamic رو از طریق Nuget به پروژت اضافه کن سپس در رویداد dataGridView1_ColumnHeaderMouseClick کد زیر رو بنویس

    private void dataGridView1_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
    {
    dataGridView1.DataSource = db.Persons.OrderBy(dataGridView1.Columns[e.ColumnIndex].DataPropertyName).ToList();
    }


    اینم برای F5 :


    private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
    {
    if (e.KeyCode==Keys.F5)
    dataGridView1.DataSource = db.Persons.OrderBy(dataGridView1.Columns[dataGridView1.CurrentCell.ColumnIndex].DataPropertyName).ToList();
    }


    موفق باشید
    لطفاً از پرسیدن سوال در خصوصی خودداری کنید.
    قبل از ایجاد تاپیک، حتماً قوانین سایت را مطالعه فرمایید.
    قوانین پرسش های دانشجویی
    برای درست وارد شدن کد در قالب C#‎‎‎ سایت، ابتدا کد رو درون Notepad.exe کپی سپس از اونجا به سایت در قالب C#‎‎‎ منتفل کنید
    نرم افزار code manager دستیار برنامه نویسان جهت نگهداری کد ها

  10. #10

    نقل قول: Sort نشدن datagridview بعد از استفاده از کوئری توسط لامبدا

    نقل قول نوشته شده توسط danialafshari مشاهده تاپیک
    با سلام
    کتابخانه System.Linq.Dynamic رو از طریق Nuget به پروژت اضافه کن سپس در رویداد dataGridView1_ColumnHeaderMouseClick کد زیر رو بنویس

    private void dataGridView1_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
    {
    dataGridView1.DataSource = db.Persons.OrderBy(dataGridView1.Columns[e.ColumnIndex].DataPropertyName).ToList();
    }


    اینم برای F5 :


    private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
    {
    if (e.KeyCode==Keys.F5)
    dataGridView1.DataSource = db.Persons.OrderBy(dataGridView1.Columns[dataGridView1.CurrentCell.ColumnIndex].DataPropertyName).ToList();
    }


    موفق باشید

    ممنون جواب داد .
    فقط اینکه یکبار جواب میده و فقط ASC سورت میکنه.
    چه بکنم که با هربار کلیک یکبار ASC سورت کنه و یکبار Desc ؟

  11. #11
    مدیر بخش آواتار danialafshari
    تاریخ عضویت
    تیر 1387
    محل زندگی
    هر کجا هستم باشم آسمان مال من است
    پست
    2,909

    نقل قول: Sort نشدن datagridview بعد از استفاده از کوئری توسط لامبدا

    کلاس ضمیمه شده رو به پروژتون اضافه کنید
    توسط کد زیر ازش استفاده کنید

    private bool sortAscending = true;
    private void dataGridView1_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
    {
    if (sortAscending)
    dataGridView1.DataSource = db.Persons.OrderByDynamic(dataGridView1.Columns[e.ColumnIndex].DataPropertyName, QueryableExtensions.Order.Asc).ToList();
    else
    dataGridView1.DataSource = db.Persons.OrderByDynamic(dataGridView1.Columns[e.ColumnIndex].DataPropertyName, QueryableExtensions.Order.Desc).ToList();
    sortAscending = !sortAscending;
    }

    موفق باشید
    فایل های ضمیمه فایل های ضمیمه
    لطفاً از پرسیدن سوال در خصوصی خودداری کنید.
    قبل از ایجاد تاپیک، حتماً قوانین سایت را مطالعه فرمایید.
    قوانین پرسش های دانشجویی
    برای درست وارد شدن کد در قالب C#‎‎‎ سایت، ابتدا کد رو درون Notepad.exe کپی سپس از اونجا به سایت در قالب C#‎‎‎ منتفل کنید
    نرم افزار code manager دستیار برنامه نویسان جهت نگهداری کد ها

  12. #12
    کاربر دائمی آواتار علی فتحی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    مهاباد
    سن
    42
    پست
    1,075

    نقل قول: Sort نشدن datagridview بعد از استفاده از کوئری توسط لامبدا

    بابا بجای همه اینا برید دنبال لینک چون انتی تی خیلی مشکلات دیگه هم داره

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

  1. اعمال نشدن CSS بعد از دریافت کد توسط jquery
    نوشته شده توسط Tekyegah در بخش jQuery
    پاسخ: 0
    آخرین پست: جمعه 20 مرداد 1396, 21:20 عصر
  2. پاسخ: 1
    آخرین پست: دوشنبه 21 تیر 1395, 11:29 صبح
  3. سوال: مرتب کردن نتایج جستجو بعد از کوئری و با مقایسه 2 رشته
    نوشته شده توسط numberone1 در بخش PHP
    پاسخ: 4
    آخرین پست: سه شنبه 23 آبان 1391, 09:44 صبح
  4. سوال: اجرا نشدن کد بعد از استفاده از CascadingDropDown
    نوشته شده توسط reuonis در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: چهارشنبه 15 دی 1389, 12:52 عصر
  5. پاسخ: 2
    آخرین پست: شنبه 22 دی 1386, 08:43 صبح

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

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