2011-05-18 79 views
4

您好我有datagridview名稱data1,並綁定數據到data1從數據庫,當我點擊列標題排序數據,,一些錯誤顯示..這樣的錯誤「DataGridView控件必須是綁定到IBindingList對象進行排序「。以編程方式排序datagridview錯誤

這是代碼的樣本..

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);  
} 

任何解決方案傢伙?在此先感謝

回答

4

您需要使用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; 
+0

喜喬Tuskan ..這個錯誤顯示當我使用綁定源「DataGridView控件無法排序,如果它綁定到不支持排序的IBindingList。」..請幫助,任何解決方案? – 2011-05-18 16:47:50

+3

我需要在以下結構中實現一個列表:http://www.timvw.be/2007/02/22/presenting-the-sortablebindinglistt/ – Joe 2011-05-18 16:58:08