Ich habe den CurrentCellChanged
-Ereignishandler einer DataGridView
und ich möchte in der Lage sein, auf den aktuellen Spaltenindex der ausgewählten Zellen über den Ereignishandler zuzugreifen.
Früher hatte ich den Code im CellClick
-Handler, der DataGridViewCellEventArgs
als Parameter hat, sodass ich den Spaltenindex vom Parameter event args abrufen konnte, aber das CurrentCellChanged
-Ereignis hat EventArgs
als Parameter, für die ich glaube, dass es keine Daten gibt diese Veranstaltung.
Gibt es eine Möglichkeit, auf den neuen, aktuell ausgewählten Zellenspaltenindex zuzugreifen?
Verwenden Sie die DataGridView.CurrentCell
-Eigenschaft ..
http://msdn.Microsoft.com/de-de/library/system.windows.forms.datagridview.currentcell.aspx
int columnIndex = dataGridView.CurrentCell.ColumnIndex;
int rowIndex = dataGridView.CurrentCell.RowIndex;
http://msdn.Microsoft.com/de-de/library/system.windows.forms.datagridviewcell.aspx
Verwenden Sie die CurrentCell-Eigenschaft des DataGridView.
void dataGridView1_CurrentCellChanged(object sender, EventArgs e)
{
MessageBox.Show(dataGridView1.CurrentCell.ColumnIndex.ToString());
MessageBox.Show(dataGridView1.CurrentCell.RowIndex.ToString());
}
Wenn Sie es mit der Überschrift der Spalte überprüfen möchten, dann
dataGridView.CurrentCell.Column.Header
Es ist erwähnenswert, dass jemand, derWPF(mit DataGrid und nicht DataGridView) verwendet, einfach Folgendes tun kann:
DataGrid currentGrid = sender as DataGrid;
und dann
currentGrid.CurrentColumn.DisplayIndex
oder
currentGrid.CurrentCell.Column.DisplayIndex