C# 洗牌 DataGridView 行

5

我有一个包含数千条记录的DataGridView,是通过编程方式添加的,没有涉及数据源。现在我想每次点击按钮时都对记录进行随机排序。如何实现此功能?


1
洗牌的方式是什么?随机索引吗? - David B
1
OrderBy(x => Guid.NewGuid()) - Filip Ekberg
2个回答

1
我不建议使用OrderBy(x => Guid.NewGuid())。根据系统的不同,您的Guid可能是顺序的。GUID应该是唯一的,而不是随机的。 如果要洗牌集合,可以调用sort并传递一个比较器,该比较器以随机的方式返回结果(例如Random(-1, 1))。

0

根据这个问题, 你可以使用 DataGridView.Rows.RemoveAtDataGridView.Rows.Insert 来重新定位未绑定的 DataGridView 中的行。你可以生成一组随机整数索引来复制、删除和插入到表格中的其他位置,以重新创建“洗牌”。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接