• 1402/09/20

مرتب کردن دیتاگرید با کلیک در سرستون :

سلام خدمت اساتید گرامی

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

پیغام : 'DataGridView control must be bound to an IBindingList object to be sorted.'

رو دریافت میکنم

  • 1402/10/05
  • ساعت 23:21

با اجازه استاد

 

دوست عزیز با توجه به دیتایی که در اینترنت جمع اوری کردم : 

پیغام 'DataGridView control must be bound to an IBindingList object to be sorted.' نشان می‌دهد که برای مرتب کردن ستون‌ها در DataGridView، باید از یک شیء IBindingList برای بایند کردن داده‌ها به DataGridView استفاده کنید. IBindingList یک رابط است که به DataGridView امکاناتی مانند مرتب‌سازی، جستجو و فیلتر کردن را فراهم می‌کند.

برای انجام این کار، می‌توانید از یک لیست از نوع BindingList به جای یک لیست عادی استفاده کنید. این کار به شما این امکان را می‌دهد که لیست داده‌های خود را به یک BindingList ببندید و سپس DataGridView را به BindingList ببندید.

 

یک مثال هم براتون اماده کردم امید وارم بهتون کمک بکنه :

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Windows.Forms;

namespace DataGridViewSortingExample
{
    public partial class Form1 : Form
    {
        private BindingList<Person> people;

        public Form1()
        {
            InitializeComponent();

            people = new BindingList<Person>
            {
                new Person { Name = "John", Age = 30 },
                new Person { Name = "Alice", Age = 25 },
                new Person { Name = "Bob", Age = 35 }
            };

            dataGridView1.DataSource = people;
        }

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

        private void dataGridView1_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            dataGridView1.Sort(dataGridView1.Columns[e.ColumnIndex], ListSortDirection.Ascending);
        }
    }
}

در این مثال، یک BindingList از اشیاء Person ساخته شده و به DataGridView بایند شده است. سپس با استفاده از رویداد ColumnHeaderMouseClick، مرتب‌سازی بر اساس ستونی که کلیک شده است، انجام می‌شود.


  • 1402/10/18
  • ساعت 15:19

ممنون جناب علیپور عزیز

دستت درد نکنه


  • 1402/10/21
  • ساعت 11:04

خواهش میکنم خوش حالم مفید بوده