Получить текущий индекс столбца ячейки в событии DataGridView CurrentCellChanged - PullRequest
13 голосов
/ 22 апреля 2011

У меня есть CurrentCellChanged обработчик события DataGridView, и я хочу иметь возможность получить доступ к текущему выбранному индексу столбца ячеек из обработчика события.

Раньше у меня был код в обработчике CellClick, у которого в качестве параметра DataGridViewCellEventArgs, поэтому я смог получить индекс столбца из параметра args события, но у события CurrentCellChanged есть EventArgsв качестве параметров, которые, как я полагаю, должны подразумевать, что нет данных для этого события.

Есть ли способ получить доступ к новому индексу столбца новых выбранных ячеек?

Ответы [ 4 ]

33 голосов
/ 22 апреля 2011

Использование 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

6 голосов
/ 22 апреля 2011

Используйте свойство CurrentCell объекта DataGridView.

void dataGridView1_CurrentCellChanged(object sender, EventArgs e)
{
    MessageBox.Show(dataGridView1.CurrentCell.ColumnIndex.ToString());
    MessageBox.Show(dataGridView1.CurrentCell.RowIndex.ToString());
}
0 голосов
/ 17 марта 2015

Если вы хотите проверить это с заголовком столбца, тогда

dataGridView.CurrentCell.Column.Header
0 голосов
/ 05 февраля 2015

Стоит отметить, что если кто-то использует WPF DataGrid вместо DataGridView), он может просто сделать:

DataGrid currentGrid = sender as DataGrid;

, а затем

currentGrid.CurrentColumn.DisplayIndex

или

currentGrid.CurrentCell.Column.DisplayIndex
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...