2016-06-23 3 views
0

の行を並べ替えます。より詳細な情報を提供する必要がある場合、私はそうしたいと思いますが、この時点では、SqlConnectionの新機能とWindowsフォームの新機能です。はプログラムだから私はこのようなものを持っているのDataGridView

質問:これは、カスタムソート(実行時にユーザーが決定したフィールド)を実装しようとすると、上記のコードが既に実行され、gridviewが表示)は、並べ替えの選択肢を反映するようにプログラムで行の順序を変更しますか?

+0

にこれを確認してください。ところで、DataGridViewはwinformsアイテムですが、WebバージョンはGridViewです – Plutonix

+0

@Plutonixまあ、私は実際にはwinformsを使用していますが、大きな違いがありますか? – Xellarant

答えて

1

CustomerNameをクラスのプロパティとし、CustomerNameに基づいてリストを並べ替える(または、クラスの他のプロパティにする)必要があります。その後、リストをソートして、データソースを再度割り当てることができます(@Plutonixによるコメントのように)。

customers =customers.OrderBy(x => x.CustomerName).ToList(); // Sort the list 
dgv.DataSource=customers ; // Re-assign the datasource 
+0

これは正直なところ、私が@ Plutonixの提案を読んですぐに調査して見つけたはずの単純な解決策のようです...私はまだC#のライブラリ関数をあまりにも無知です。これはちょうど私が探しているもののようなものになるようです。ありがとうございました。 – Xellarant

1

ランダムな順序の要件であれば、これを実行します。

Random r = new Random(); 
customers =customers.OrderBy(x => r.Next(0,r.customers.Count())) // random order. 
        .ToList(); 
dgv.DataSource=customers ;          // Set new DataSource. 

また、Guidを使用してリストをランダム化することもできます。

customers =customers.OrderBy(x => Guid.NewGuid()) // random order. 

それがバインドされている場合は、リストを並べ替えるUsage Demo

関連する問題