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

时间:2011-05-18 16:36:35

标签: 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);      
}

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

1 个答案:

答案 0 :(得分: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;