Datagridview Headers 选择

Datagridview Headers Selection

我有一个包含 5 列的 DataGridView,当用户选择 headers 中的任何一个时,我想获取所选的列索引,但我似乎获取的是当前所选的单元格。

private void dataGridView1_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{

    dataGridView1.ClearSelection();

   //The e.RowIndex returns a -1 every time **`strong text`**
   // dataGridView1.Rows[e.RowIndex].Cells[1].Selected = true;

    var cellId = dataGridView1.CurrentCell.ColumnIndex;

    string column = dataGridView1.Columns[cellId].HeaderText;

    if (column == "Description")
    {
        dataGridView1.DataSource = notifications.OrderBy(a => a.Description).ToList();
    }
    else if (column == "Category")
    {
        dataGridView1.DataSource = notifications.OrderBy(a => a.Category).ToList();
    }
}

使用e.ColumnIndex获取选中的ColumnIndex

 string column = dataGridView1.Columns[e.ColumnIndex].HeaderText;