获取DataGridView中所选单元格的行索引的快速方法

时间:2013-06-26 16:56:38

标签: c# performance datagridview

我想获取DataGridView中所选单元格的行索引列表。

我以前使用SelectedCells来获取此信息,但是当有200万行并且所有行都被选中时,这需要大约40秒。

this.SelectedCells
    .Cast<DataGridViewCell>()
     .Select(c => c.RowIndex)

Msdn上它表示SelectedCells对于大型网格来说速度很慢,但除了恰好选择所有单元格的特殊情况之外,它没有提供很多替代方案。如果选择除1行/单元格以外的所有内容怎么办?

有更快的方法吗?

1 个答案:

答案 0 :(得分:0)

这是一个黑客攻击,但我最终还是使用反射来访问私有字段DataGridView.individualSelectedCells,这是所选单元格的链接列表。这比访问DataGridView.SelectedCells快得多,但显然不那么健壮。