2012-07-03 6 views
5

私はプログラムで追加した何千ものレコードを持つDataGridViewを持っています。この場合、データソースはありません。今私はボタンをクリックするたびにレコードをシャッフルしたいと思う。どのように達成することができますか?C#DataGridViewの行をシャッフルする

+1

どのようにシャッフルしましたか?ランダムに索引付けされていますか? –

+1

'OrderBy(x => Guid.NewGuid())' –

+0

はいランダムにインデックスされています – user1295450

答えて

0

According to this questionを使用すると、DataGridView.Rows.RemoveAtDataGridView.Rows.Insertを使用して、バインドされていないDataGridViewの行の位置を変更できます。テーブル内の他の場所にコピー、削除、挿入するための一連のランダム整数インデックスを生成して、「シャッフル」を再作成することができます。

1

OrderBy(x => Guid.NewGuid())はお勧めしません。システムによっては、あなたのGuidは連続している可能性があります。 GUIDはランダムではなく一意であることを意味します。コレクションをシャッフルするには、ソートを呼び出してランダムに結果を返すコンパレータを渡します(例:ランダム(-1,1))。

関連する問題