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;
我有一个包含 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;