2011-12-17 14 views
1

DataGridViewを並べ替える必要があります。 は、私はこれを試してみました:DataGridViewとList <T>とソート

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

と、この:

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

私はというエラーを取得するたび:

DataGridViewコントロールをソートするIBindingListオブジェクトにバインドする必要があります。

動作させるには何が必要ですか?

+1

'List 'または 'DataGridView'のソートにどのような方法を使いましたか? – adatapost

答えて

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

+0

@Hooch - フィールド/列ごとにコードを書く必要があります。 – adatapost

+0

ありがとうございます。それはたくさんの仕事になるでしょう。私は300列を持っています – Hooch

関連する問題