以编程方式对datagridview进行排序是错误的

Sel*_*jar 4 c# datagridview

嗨我有datagridview名称data1,并从数据库绑定数据到data1,当我点击列标题进行数据排序时,出现一些错误..这样的错误"DataGridView控件必须绑定到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);      
}
Run Code Online (Sandbox Code Playgroud)

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

Joe*_*Joe 5

你需要使用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;
Run Code Online (Sandbox Code Playgroud)

  • 我的错误是你需要在以下结构中实现一个列表:http://www.timvw.be/2007/02/22/presenting-the-sortablebindinglistt/ (4认同)