【问题标题】:Fast method to get row indices of selected cells in a DataGridView获取 DataGridView 中选定单元格的行索引的快速方法
【发布时间】:2013-06-23 22:46:09
【问题描述】:

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

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

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

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

有更快的方法吗?

【问题讨论】:

  • 你问清楚什么?
  • 他想要一个更快的 SelectedCells 替代方案

标签: c# performance datagridview


【解决方案1】:

这是一个 hack,但我最终恢复使用反射来访问私有字段 DataGridView.individualSelectedCells,这是一个选定单元格的链接列表。这比访问DataGridView.SelectedCells 快得多,但显然不够健壮。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-05
    • 1970-01-01
    • 2010-10-17
    • 1970-01-01
    相关资源
    最近更新 更多