当用户单击该行的单元格时,如何选择完整的dataGridView行?

Ale*_*aux 49 .net c# datagridview winforms

我有一个dataGridView,我需要当用户点击任何单元格时,也选择包含该单元格的整行.(它有多选的废话)我试过currentRowIndex这样的

 int Index = dataGridView1.CurrentCell.RowIndex;
Run Code Online (Sandbox Code Playgroud)

但是,我不知道如何使用索引来选择该行.试过这个和其他六种方法没有成功:

dataGridView1.Select(Index);
Run Code Online (Sandbox Code Playgroud)

你知道我能做到这一点吗?

url*_*der 91

您需要将datagridview设置SelectionModeFullRowMode.

注意:在使用.NET 4.5的Visual Studio 2013中调用该属性FullRowSelect,请参阅https://msdn.microsoft.com/en-us/library/3c89df86(v=vs.110).aspx

  • 哈哈比我想象的要简单得多.谢谢. (4认同)
  • Use: `dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;` (4认同)

小智 9

如果您希望以编程方式选择行,则可以使用datagridview的单元格单击事件:显示在VB.net和C#中

VB.Net

Private Sub dgvGrid_CellClick(sender as System.Object, e as System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvGrid.CellClick
    If e.RowIndex < 0 Then
        Exit Sub
    End If

    intIndex = e.RowIndex
    dgvGrid.Rows(intIndex).Selected = True
Exit Sub
Run Code Online (Sandbox Code Playgroud)

C#

private void dgvRptTables_CellClick(System.Object sender, System.Windows.Forms.DataGridViewCellEventArgs e)
{
    if (e.RowIndex < 0) {
        return;
    }

    int index = e.RowIndex;
    dgvGrid.Rows[index].Selected = true;
}
Run Code Online (Sandbox Code Playgroud)


Sha*_*k01 8

在 DataGridView 属性中,设置

  • 多选 -> 真
  • 选择模式 -> 全行选择