ComboBox hat ihren alten Wert nach Clear ()

8

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

    
Scorpion 10.06.2011, 13:00
quelle

8 Antworten

7

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:

Gewusst wie: Binden eines Windows Forms-Kombinationsfelds oder ListBox-Steuerelements an Daten (MSDN)

    
w69rdy 10.06.2011, 13:05
quelle
6

@ 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%     
IAbstract 10.06.2011 13:12
quelle
3

Ich hatte jetzt dasselbe Problem und Combobox ResetText Methode löste das Problem für mich

    
sanjuro 24.06.2013 08:07
quelle
1

Das würde funktionieren

%Vor%     
user4244210 16.12.2014 12:01
quelle
0

Ich habe dein Beispiel versucht. Für mich hat es so funktioniert, wie es sein sollte. Sie könnten versuchen, cb_model.SelectedText auf "" oder SelectedItem auf null zu setzen

    
maephisto 10.06.2011 13:11
quelle
0

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.

    
John Peake 20.02.2014 02:21
quelle
0

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.

    
GotaloveCode 24.06.2014 12:46
quelle
0

Ich habe dasselbe Problem, dann habe ich

verwendet %Vor%

und es funktioniert.

    
Prajakta 02.03.2017 13:29
quelle

Tags und Links