2012-07-03 38 views
5

Tôi có một DataGridView với hàng ngàn hồ sơ mà tôi lập trình đã thêm chúng. Không có nguồn dữ liệu nào liên quan đến trường hợp này. Bây giờ tôi muốn trộn các bản ghi mỗi khi tôi nhấp vào một nút. Làm thế nào có thể đạt được?C# Shuffling DataGridView Rows

+1

Xáo trộn theo cách nào? Được lập chỉ mục ngẫu nhiên? –

+1

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

+0

có được lập chỉ mục ngẫu nhiên – user1295450

Trả lời

0

According to this question, bạn có thể sử dụng DataGridView.Rows.RemoveAtDataGridView.Rows.Insert để định vị lại hàng trong DataGridView không liên kết. Bạn có thể tạo một tập hợp các chỉ số nguyên ngẫu nhiên để sao chép, loại bỏ và chèn vào nơi khác trong bảng để tạo lại 'xáo trộn'.

1

Tôi không khuyến nghị OrderBy (x => Guid.NewGuid()). Tùy thuộc vào hệ thống, Guid của bạn có thể được tuần tự. GUID có nghĩa là duy nhất, không phải ngẫu nhiên. Để xáo trộn một bộ sưu tập, bạn có thể gọi sắp xếp và chuyển trong một Trình so sánh trả về kết quả một cách ngẫu nhiên (ví dụ: Ngẫu nhiên (-1, 1)).

Các vấn đề liên quan