获取选定的行/列计数而不设置选择模式

时间:2014-05-30 07:54:10

标签: c# datagridview

我有一个DataGridView,我想提供一个导出精选行和列的功能

但是,我选择的行数总是为零,所以我做了

 dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;

现在,我无法选择Individual列,每当我选择任何行时,它会选择所有列作为完整行选择

同样是Columns的情况 如果我做

dataGridView1.SelectionMode = DataGridViewSelectionMode.FullColumnSelect;

选择整个列。

如果我不做这个选择模式,那么

dataGridView1.SelectedRows.Count & dataGridView1.SelectedColumns.Count 

总是返回零。

我如何制作像图片中的内容?

enter image description here

1 个答案:

答案 0 :(得分:1)

以下是获取所选行的方法:

var selectedRows =
    this.dataGridView1.SelectedCells.Cast<DataGridViewCell>()
        .Select(cell => cell.OwningRow)
        .Distinct()
        .OrderBy(row => row.Index);

您可以在其上调用Count来获取计数,但不是枚举两次,而是调用ToArray,然后获取数组的Length