Ich habe zwei comboBox cb_Brand
und cb_Model
auf einer winForm.
cb_Model
enthält Werte für Marke Select.
Das Problem ist: Wenn wir die Marke any auswählen und ein beliebiges Modell unter dieser Marke auswählen, verliert cb_Model
nicht den Wert des vorherigen Modells.
zum Beispiel: Wenn wir die Marke Audi und das Modell A3 wählen
und wählen Sie die Marke Ford, wenn ich auf cb_Model
klicke, um das Modell auszuwählen, es zeigte den A3 als ausgewähltes Modell, aber noch andere Modelle in der Liste gehören zu Ford.
Mein Code ist:
%Vor%Irgendeine Idee bitte .. Danke
konnte den Grund nicht finden, aber mit einem Temp-Fix behoben:
%Vor%Vielen Dank, Jungs Prost
Anstatt die Elemente manuell wie folgt hinzuzufügen:
%Vor%Lassen Sie .NET sich darum kümmern und ersetzen Sie dies durch:
%Vor%Dies bindet die Daten an die Liste und aktualisiert die Combobox-Elemente automatisch, wenn eine Datenquelle festgelegt wird.
Sie werden diese Zeilen auch nicht mehr brauchen:
%Vor%Lesen Sie dies für weitere Informationen zu Bindungslisten (und anderen Datenquellen) zu ComboBoxes:
@ w69rdy schlägt eine ausgezeichnete Lösung vor.
Der Grund, warum cb_Model nicht geändert hat, ist value
, weil Sie den Wert nie geändert haben. cb_Model.Items.Clear () ändert den ausgewählten Index nicht; Nur die Elemente werden aus dem Kombinationsfeld entfernt.
Verwenden Sie das Codebeispiel in Ihrer Frage:
%Vor%Ich habe festgestellt, dass der Umfang der Datenquelle in der Nähe des Ladevorgangs der Kombinationsbox bleibt. Ich hatte eine Datentabelle mit Gültigkeitsbereich auf Klassenebene und es wurde nicht gelöscht, aber dann brachte ich es in den Funktionslevel und hatte es nach dem Laden klar und das funktionierte.
Ich habe ein ähnliches Problem, cmb.resettext versucht, es löscht Text, aber nicht value.In meinem Ladeformular habe ich den folgenden Code: %Code% In meinem btnhostel click Event habe ich den folgenden Code: frmallocateHostel_Load (Nichts, nichts) Ich versuche, meinen Datensatz und damit meine Comboboxen neu zu laden. Durch die Verwendung von cmbstud.resettext wird lediglich der Text und nicht der Wert gelöscht.