2011-04-21 16 views
10

Tengo el controlador de eventos CurrentCellChanged de DataGridView y quiero poder acceder al índice de columna de celdas seleccionado actual desde el controlador de eventos.Obtenga el índice de columna de celda actual en DataGridView CurrentCellChanged Evento

que solía tener el código del controlador de CellClick que tiene DataGridViewCellEventArgs como un parámetro de lo que fue capaz de obtener el índice de la columna del parámetro de evento args pero el evento CurrentCellChanged tiene EventArgs como parámetros que creo que se supone dar a entender que no hay datos para este evento.

¿Hay alguna manera de acceder al nuevo índice de columna de celdas seleccionado actualmente?

Respuesta

6

Use la propiedad CurrentCell de DataGridView.

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

Vale la pena señalar, que si alguien está usando WPF (con la DataGrid, en lugar de DataGridView), pueden simplemente hacer:

DataGrid currentGrid = sender as DataGrid; 

y luego

currentGrid.CurrentColumn.DisplayIndex 

o

currentGrid.CurrentCell.Column.DisplayIndex 
0

Si quieres comprobarlo con la cabecera de la columna y luego

dataGridView.CurrentCell.Column.Header 
+0

CurrentCell.OwningColumn.HeaderText –

Cuestiones relacionadas