Получить текущий индекс столбца ячейки в DataGridView CurrentCellChanged Event
У меня есть обработчик события CurrentCellChanged
для DataGridView
, и я хочу иметь доступ к текущему индексу столбцов выбранных ячеек из обработчика события.
Я использовал код в обработчике CellClick
, который имеет DataGridViewCellEventArgs
в качестве параметра, поэтому мне удалось получить индекс столбца из параметра args события, но событие CurrentCellChanged
имеет EventArgs
как параметры, которые я считаю, что предполагается, что theres нет данных для этого события.
Есть ли способ получить доступ к новому текущему выбранному столбцу индекса ячейки?
Ответы
Ответ 1
Используйте свойство DataGridView.CurrentCell
.
http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.currentcell.aspx
int columnIndex = dataGridView.CurrentCell.ColumnIndex;
int rowIndex = dataGridView.CurrentCell.RowIndex;
http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewcell.aspx
Ответ 2
Используйте свойство DataCridView CurrentCell.
void dataGridView1_CurrentCellChanged(object sender, EventArgs e)
{
MessageBox.Show(dataGridView1.CurrentCell.ColumnIndex.ToString());
MessageBox.Show(dataGridView1.CurrentCell.RowIndex.ToString());
}
Ответ 3
Стоит отметить, что если кто-то использует WPF (с DataGrid, а не DataGridView), они могут просто сделать:
DataGrid currentGrid = sender as DataGrid;
а затем
currentGrid.CurrentColumn.DisplayIndex
или
currentGrid.CurrentCell.Column.DisplayIndex
Ответ 4
Если вы хотите проверить его с заголовком столбца, то
dataGridView.CurrentCell.Column.Header