Hey Leute ...
Ich wende mich mal wieder an euch, weil ich nicht wirklich weiter weiß ...
Folgende Ausgangsstellung:
Ich habe ein Datagridview (DGV), wo eine Bindingsource dran hängt.
Der SelectionMode des DGV steht auf
Wenn ich mit der Maus die Selection ändere, triggert ja u.a. das
Die auskommentierte Zeile ist die, die mir Probleme macht ...
Es ist ja unschönerweise möglich mit der Tab-Taste durch die einzelnen Zellen des DGVs durchzu"tabben" ...
Das Ding ist, wenn ich die auskommentierte Zeile NICHT drin hab', und mit Tab durch das DGV gehe, ändert es zwar die angezeigte Auswahl im DGV, aber die
Beispiel!! Angenommen, das DGV wäre vom Aussehen her so aufgebaut:
und die
Nehme ich aber die oben auskommentierte Zeile (die ich mehrfach beim Google-Suchen mit den Begriffen "Datagridview" und "Tab" gefunden habe) mit rein, funktioniert das Sortieren über die ColumnHeader nicht mehr richtig!!
Entweder wird mir plötzlich gar nichts mehr angezeigt oder die Selection ist weg und es ist schwachsinnig sortiert ...
Ja, auf die Sortiermöglichkeit wird viel Wert gesetzt ...
Ja, das DGV ist auf ReadOnly = True eingestellt ... MultiSelect ist False ... TabStop ist auch False ...
Jetzt meine Frage an euch:
Gibt es eine Möglichkeit, die Tab-Benutzung im DGV zu unterbinden??
Oder gibt es eine Möglichkeit mit der Tab-Nutzung das .SelectionChanged richtig zu triggern??
Oder ist es ein "entweder ... oder" und es ist nicht beides möglich??
Bitte helft mir (mal wieder) ... Ich komme an der Stelle einfach nicht weiter ...
Eure Noyne
Ich wende mich mal wieder an euch, weil ich nicht wirklich weiter weiß ...
Folgende Ausgangsstellung:
Ich habe ein Datagridview (DGV), wo eine Bindingsource dran hängt.
Der SelectionMode des DGV steht auf
FullRowSelect
und die RowHeader sind nicht sichtbar eingestellt ...Wenn ich mit der Maus die Selection ändere, triggert ja u.a. das
.SelectionChanged
-Event, das bei mir so aussieht:VB.NET-Quellcode
- Private Sub DGV_Heim_SelectionChanged(sender As Object, e As EventArgs) Handles DGV_Heim.SelectionChanged
- If Not HeimBindingSource.Count = 0 Then
- ' DGV_Heim.CurrentCell = DGV_Heim.SelectedRows(0).Cells(0)
- hRow = DirectCast(DirectCast(HeimBindingSource.Current, DataRowView).Row, HeimRow)
- End If
- End Sub
Es ist ja unschönerweise möglich mit der Tab-Taste durch die einzelnen Zellen des DGVs durchzu"tabben" ...
Das Ding ist, wenn ich die auskommentierte Zeile NICHT drin hab', und mit Tab durch das DGV gehe, ändert es zwar die angezeigte Auswahl im DGV, aber die
hRow
ist die vom vorher ausgewählten Datensatz.Beispiel!! Angenommen, das DGV wäre vom Aussehen her so aufgebaut:
Name | Straße | Ort |
Heim 1 | Straße 1 | Ort 1 |
Heim 2 | Straße 2 | Ort 2 |
Heim 3 | Straße 3 | Ort 3 |
und die
hRow
ist jetzt auf den Datensatz von Heim 2
gecastet und ich fange jetzt an, Tab zu drücken und beim Springen in die nächste Reihe (Heim 3) triggert das .SelectionChanged
-Event, aber statt dann die hRow auf Heim 3 zu casten, bleibt er bei Heim 2, obwohl Heim 3 gewählt ist. Nehme ich aber die oben auskommentierte Zeile (die ich mehrfach beim Google-Suchen mit den Begriffen "Datagridview" und "Tab" gefunden habe) mit rein, funktioniert das Sortieren über die ColumnHeader nicht mehr richtig!!
Entweder wird mir plötzlich gar nichts mehr angezeigt oder die Selection ist weg und es ist schwachsinnig sortiert ...
Ja, auf die Sortiermöglichkeit wird viel Wert gesetzt ...
Ja, das DGV ist auf ReadOnly = True eingestellt ... MultiSelect ist False ... TabStop ist auch False ...
Jetzt meine Frage an euch:
Gibt es eine Möglichkeit, die Tab-Benutzung im DGV zu unterbinden??
Oder gibt es eine Möglichkeit mit der Tab-Nutzung das .SelectionChanged richtig zu triggern??
Oder ist es ein "entweder ... oder" und es ist nicht beides möglich??
Bitte helft mir (mal wieder) ... Ich komme an der Stelle einfach nicht weiter ...
Eure Noyne
Your computer is running... You better go chase it!