it-roy-ru.com

Получить текущий индекс столбца ячейки в событии DataGridView CurrentCellChanged

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

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

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

13
MBU

Используйте свойство 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

33
Akram Shahda

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

void dataGridView1_CurrentCellChanged(object sender, EventArgs e)
{
    MessageBox.Show(dataGridView1.CurrentCell.ColumnIndex.ToString());
    MessageBox.Show(dataGridView1.CurrentCell.RowIndex.ToString());
}
6
David Hall

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

dataGridView.CurrentCell.Column.Header
0
Bhavani Kannan

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

DataGrid currentGrid = sender as DataGrid;

а потом

currentGrid.CurrentColumn.DisplayIndex

или же 

currentGrid.CurrentCell.Column.DisplayIndex
0
XtraSimplicity