2012-07-03 5 views
5

프로그래밍 방식으로 추가 한 수천 개의 레코드가있는 DataGridView가 있습니다. 이 경우 관련된 데이터 소스가 없습니다. 이제 버튼을 클릭 할 때마다 레코드를 섞어 놓고 싶습니다. 어떻게 달성 될 수 있습니까?C# DataGridView 행을 섞기

+1

어떤 방식으로 섞인가요? 무작위로 색인이 생성 되었습니까? –

+1

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

+0

예 임의로 색인 생성 됨 – user1295450

답변

0

According to this question을 사용하면 바인딩되지 않은 DataGridView에서 행의 위치를 ​​변경하기 위해 DataGridView.Rows.RemoveAtDataGridView.Rows.Insert을 사용할 수 있습니다. 테이블의 다른 곳에 복사, 제거 및 삽입 할 임의의 정수 인덱스 집합을 생성하여 '셔플 링'을 다시 만들 수 있습니다.

1

OrderBy (x => Guid.NewGuid())는 권장하지 않습니다. 시스템에 따라 가이드가 순차적 일 수 있습니다. GUID는 무작위가 아니라 고유해야합니다. 컬렉션을 임의로 재생하려면 sort를 호출하고 임의의 결과 (예 : 임의 (-1, 1))를 반환하는 Comparator를 전달할 수 있습니다.