以编程方式对数据网格视图进行排序是错误的

本文关键字:排序 错误 视图 网格 方式 编程 数据 数据网 | 更新日期: 2023-09-27 17:56:44

嗨,我有数据网格视图名称 data1,并将数据从数据库绑定到 data1,当我单击用于对数据进行排序的列标题时,会出现一些错误。.像这样的错误"数据网格视图控件必须绑定到要排序的 IBindingList 对象"。

这是代码的示例。

SomeDataContext db = new SomeDataContext();
data1.DataSource = db.data.ToList();

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

任何解决方案的家伙??提前致谢

以编程方式对数据网格视图进行排序是错误的

你需要

使用 SortableBindingList 类:

 SortableBindingList<person> persons = new SortableBindingList<person>();
 persons.Add(new Person(1, "timvw", new DateTime(1980, 04, 30)));
 persons.Add(new Person(2, "John Doe", DateTime.Now));
 this.dataGridView1.AutoGenerateColumns = false;
 this.ColumnId.DataPropertyName = "Id";
 this.ColumnName.DataPropertyName = "Name";
 this.ColumnBirthday.DataPropertyName = "Birthday";
 this.dataGridView1.DataSource = persons;