2011-12-17 41 views
1

我想排序我的DataGridView。 我嘗試這樣做:DataGridView和列表<T>和排序

Grid.DataSource = PlayerList; 
Grid.Refresh(); 

這:

BindingSource bs = new BindingSource(); 
bs.DataSource = PlayerList; 
Grid.DataSource = bs; 

每次我得到一個錯誤說:

DataGridView控件必須綁定到IBindingList的對象進行排序。

我需要做些什麼才能使它工作?

+1

你用什麼方法對`List `或`DataGridView`進行排序? – adatapost 2011-12-17 02:45:03

回答

1

如果您不想執行IBindingList,則使用List<T>排序方法。

PlayerList.Sort((p,q) => { 
        if (p.Age >= q.Age) 
          return 1; 
         else 
          if (p.Age < q.Age) 
           return -1; 
         return 0; 
        }); 
    Grid.DataSource = PlayerList; 
+0

如果我想根據Player類的不同屬性進行排序,該怎麼辦?例如。年齡,性別,城鎮,武器? – Hooch 2011-12-17 11:18:12