Entwickler-Ecke
WPF / Silverlight - DataGrid.CurrentCell.Column.DisplayIndex
RobAll - Mo 25.02.19 20:22
Titel: DataGrid.CurrentCell.Column.DisplayIndex
Hallo Forum...
in meinem WPF DataGrid wähle ich eine Zelle an, und möchte von dieser selektierten Zelle den Spaltenindex über
Button_Click auslesen, um den Spaltennamen auszugeben und zu verarbeiten.
Noch besser wäre direkt den Spaltennamen auszugeben.
Mein DataGrid heißt
GridStammdaten
C#-Quelltext
1: 2: 3: 4: 5: 6: 7:
| int index = GridStammdaten.CurrentColumn.DisplayIndex; MessageBox.Show(index.ToString());
int index = GridStammdaten.CurrentCell.Column.DisplayIndex; MessageBox.Show(index.ToString()); |
Der Fehler lautet:
Zitat: |
System.NullReferenceException wurde nicht behandelt. Die MessageBox erhält den Wert Null. |
C#-Quelltext
1: 2: 3: 4:
| int index = 5; String Spaltenname = GridStammdaten.SelectedCells[index].Column.Header.ToString(); MessageBox.Show(Spaltenname.ToString()); |
!!Bitte nicht verwechseln mit DataGridView!!
Bitte um Hilfe+
Danke vorab
RobAll
Moderiert von Th69: C#-Tags hinzugefügt
Moderiert von Th69: Quote-Tags hinzugefügt
Delete - Mo 25.02.19 20:32
- Nachträglich durch die Entwickler-Ecke gelöscht -
RobAll - Mo 25.02.19 20:43
Frühlingsrolle hat folgendes geschrieben : |
Guten Abend RobAll,
könnte daran liegen, dass die Zelle den Fokus verloren hat, sobald Button_Click() ausgeführt wurde. Keine Zelle -> Null |
Oh Ja, das kann sein.
hast du dazu auch eine Lösungsansatz? Wie kann ich den Fokus behalten?
Danke
Ralf Jansen - Mo 25.02.19 20:51
Vorher solltest du genau überlegen was du willst ;)
Du sprichst selbst in deinem Einganspost von selektierter Zeile. Jetzt möchtest du aber die fokusierte Zelle bzw Spalte.
Focusiert ist was anderes als selektiert. Etwas kann den Focus haben ohne selektiert zu sein und genauso umgekehrt.
Delete - Mo 25.02.19 21:10
- Nachträglich durch die Entwickler-Ecke gelöscht -
RobAll - Mo 25.02.19 22:09
Frühlingsrolle hat folgendes geschrieben : |
Da hat Ralf Jansen recht.
Zum Lösungsansatz: Benutze z.B. das SelectionChanged-Ereignis des DataGrid, weise dort einer Variable den Index der zuletzt geklickten Zelle zu und ruf den Wert der Variable im Click-Ereignis des Button auf. |
Danke Euch!
Das DataGrid hat den Fokus verloren,
Über Focusable="False" im XAML Button Click verliert die Datagrid nicht ihren Bezug
<Button Content="Machwas" .. Focusable="False" Click="Tuwas" ../>
Grüße RobAll
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!