Hallo,
ich habe eine DataGridView, verbunden mit BindingSource und Co.
Jetzt habe ich noch eine Combobox mit Fahrzeugen zur Auswahl. Sobald sich ein Wert in der Auswahl ändert wird dies als Filter auf die BindingSource angewendet.
Eigentlich klappt die Sache nur wenn keine Einträge zu diesem Fahrzeug in der BindingSource gefunden werden, kommt die Meldung ausm Anhang.
In der DataGridView ist komischerweise immer das erste Feld des ersten Datensatzes markiert bzw. ausgewählt. Kanns daran liegen?
Danke für Eure Hilfe!
TimonB
Hi,
wenn keine datensätze vorhanden sind versucht deine "for schleife" trotzdem einmal einen datensatz zu holen! es hilft eine prüfung davor zu machen ob datensätze != 0
damit sollte das problem behoben werden.
Torley
Kann mich Torley nur anschliessen.
Vor dem Schleifendurchlauf auf vorhandene Datensätze prüfen.
if(DataGridView.Rows.Count > 0)
{
// Tu Etwas
};
greetz da kubi.
Hi!
Du könntest doch auch richtiges DataBinding anwenden.
Angenommen die Tabellen "Fahrzeug" und "Fahrt" im Dataset, mit einer 1:n Relation verknüpft.
Dann kannste die Combo per BindingSource an Fahrzeug binden (FahrzeugSource), und das Grid an "Fahrt", wobei DataSource der BindingSource des Grids die FahrzeugSource ist.
Fertig, kein Filter konstruieren, und auch keine komischen Exceptions (so Gott will).
Der frühe Apfel fängt den Wurm.
@timonb
Erst an den Entwickler wenden wenn es mit seiner Anwendung Probleme gibt! 😁