Autor Beitrag
RobAll
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: Mo 25.02.19 19:22 
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
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
  // Test1 = Null
 int index = GridStammdaten.CurrentColumn.DisplayIndex;
 MessageBox.Show(index.ToString());

 // Test2 = Null
 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.

ausblenden C#-Quelltext
1:
2:
3:
4:
   //Spaltenname funktioniert z.B.
   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 user profile iconTh69: C#-Tags hinzugefügt
Moderiert von user profile iconTh69: Quote-Tags hinzugefügt
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 25.02.19 19:32 
- Nachträglich durch die Entwickler-Ecke gelöscht -
RobAll Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: Mo 25.02.19 19:43 
user profile iconFrühlingsrolle hat folgendes geschrieben Zum zitierten Posting springen:
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4437
Erhaltene Danke: 910


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mo 25.02.19 19: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.

Für diesen Beitrag haben gedankt: RobAll
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 25.02.19 20:10 
- Nachträglich durch die Entwickler-Ecke gelöscht -

Für diesen Beitrag haben gedankt: RobAll
RobAll Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: Mo 25.02.19 21:09 
user profile iconFrühlingsrolle hat folgendes geschrieben Zum zitierten Posting springen:
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